Skip to content

feat(auth): make AppPasswordCreatedEvent public and dispatch it everywhere - #65736

Draft
karlitschek wants to merge 1 commit into
masterfrom
feat/public-app-password-created-event
Draft

karlitschek wants to merge 1 commit into
masterfrom
feat/public-app-password-created-event

Conversation

@karlitschek

@karlitschek karlitschek commented Oct 20, 2026 •

Copy link
Copy Markdown
Member
  • Resolves: #

Summary

One of seven small, independent core changes needed by a planned intrusion_detection app. Each can be reviewed and merged on its own:

  1. feat(security): let apps refuse requests early with request guards #65735 – request guards: let apps refuse requests early, on every entry point
  2. feat(auth): make AppPasswordCreatedEvent public and dispatch it everywhere #65736 – public AppPasswordCreatedEvent, dispatched everywhere ← this PR
  3. feat(auth): allow apps to invalidate a single token #65737 – IProvider::invalidateTokenById() in the public token provider
  4. feat(sharing): dispatch an event when a share link access fails #65738 – ShareLinkAccessFailedEvent
  5. feat(security): dispatch an event when a password reset is requested #65739 – PasswordResetRequestedEvent
  6. feat(login-flow): warn when a login flow was started from another network #65740 – login flow v2 remembers where it was started and warns on another network
  7. feat(2fa): allow apps to ask for the second factor again in a session #65741 – IChallengeRequester: ask for the second factor again in a session

TODO

  • Description by the author
  • Manual test on a live instance

Checklist

AI (if applicable)

  • The content of this PR was partly or fully generated using AI

AI disclosure: this change was written with Claude Code (claude-opus-5-5) and reviewed by the author; every commit carries an Assisted-by trailer.

🤖 Generated with Claude Code

*/

namespace OC\Authentication\Events;
namespace OCP\Authentication\Events;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

globalsiteselector app is listening to that event.
I think we should proactively make it react to both, and still continue with the approach of replacing the event here instead of dispatching both or doing other shenanigans

…where

The event moves from OC\Authentication\Events to
OCP\Authentication\Events so apps can react to every new app password,
for example to remember which session and address created it.

It is now also dispatched when an app password is created in the
personal security settings and when a login flow v2 is completed. The
settings app already publishes the "app password created" activity
from its listener for this event, so its controller no longer publishes
it directly.

Assisted-by: ClaudeCode:claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Frank Karlitschek <karlitschek@users.noreply.github.com>
@karlitschek
karlitschek force-pushed the feat/public-app-password-created-event branch from 6cd6a8c to 9384100 Compare October 25, 2026 19:40

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants