Repository navigation
feat: Password support for /e/authorize endpoint #1088
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
base: v5_development
Are you sure you want to change the base?
Changes from all commits
aa06e80
ffa0c3b
05cbe63
ae37d16
e51c01e
9d097ea
a6554fc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -28,6 +28,9 @@ public sealed interface EmbeddedAuthError { | |
| /** The identifier or the code was invalid; the server does not say which. */ | ||
| INVALID_IDENTIFIER_OR_CODE, | ||
|
|
||
| /** The username or the password was invalid; the server does not say which. */ | ||
| INVALID_IDENTIFIER_OR_PASSWORD, | ||
|
|
||
| /** Authorization is pending (e.g., push notification awaiting user approval). Retry after a delay. */ | ||
| AUTHORIZATION_PENDING, | ||
|
|
||
|
|
@@ -78,6 +81,15 @@ public sealed interface EmbeddedAuthError { | |
| /** Terminal: additional consent is required before the flow can proceed. */ | ||
| public data object ConsentRequired : EmbeddedAuthError | ||
|
|
||
| /** | ||
| * Terminal: breached password detection blocked the login because the password appears in a | ||
| * data breach. The user must reset their password before starting a new flow. | ||
| */ | ||
| public data object PasswordLeaked : EmbeddedAuthError | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The SDK design doc has password_leaked as a terminal access_denied. The approved server RFD (decision 4) folds breached passwords into the recoverable invalid_identifier_or_password. Can we confirm with the server team which one ships? If it's the RFD, PasswordLeaked never fires and the docs and sample promise a reset path that doesn't exist. |
||
|
|
||
| /** Terminal: no further action is available to continue authorization. Restart the flow. */ | ||
| public data object NoNextSteps : EmbeddedAuthError | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For the release notes: |
||
|
|
||
| /** The request never reached the server (`cause` is a network error). Retry the step. */ | ||
| public data object Network : EmbeddedAuthError | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,4 +8,6 @@ public enum class IdentifierType { | |
| EMAIL, | ||
| /** A phone number. */ | ||
| PHONE, | ||
| /** A username. */ | ||
| USERNAME, | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DEFAULT_CAPABILITIESnow includes username and password. Apps that callauthorize()with the defaults can start gettingIdentifyUsername/VerifyPasswordactions, and awhenwith anelsewill silently ignore them. Worth a release-note mention.