Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update user's email and password in EmailPassword #275

Closed
dulowski-marek opened this issue Jul 12, 2021 · 0 comments
Closed

Update user's email and password in EmailPassword #275

dulowski-marek opened this issue Jul 12, 2021 · 0 comments
Assignees

Comments

@dulowski-marek
Copy link
Contributor

dulowski-marek commented Jul 12, 2021

Goal

User should be able to update their email and password.

Problems and assumptions

  1. Session validation - What should happen with existing sessions if the user changes their password? It seems that we should revoke all the existing sessions, as they were established using an old grant (old password).
  2. API structure - Should this be one request (endpoint)? I think that changing the email without changing password is a valid usecase. This makes me think that those should be separate endpoints, or at least separate routine (business logic).
    • What should happen with existing sessions if user changes their email? Should they be invalidated as well?
  3. Permissions - Is changing the user's email/password by somebody else (e.g. admin) on our roadmap? If so, we should structure the API in a way that separates identifying a user the credentials are changed for from determining permissions for actor requesting the change.

The same problem as in Delete User API is present as well. How are the backend SDK requests authorized in core?
4. Second factor authorization - Are there scenarios in which we should send a verification link (email, sms, notification) to authorize the change? Should this be done by core or backend SDK?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants