Repository navigation
Conversation
SandPod
force-pushed
the
docs/email-otp-sign-in
branch
2 times, most recently
from
October 22, 2026 12:43
33d549e to
8805a5f
Compare
Covers the OTP flow added in serverpod/serverpod#5869: the EmailOtpIdpBaseEndpoint, the sendOtpLoginVerificationCode callback and its fallback, the new EmailIdpConfig options and rate limits, the EmailOtpSignInWidget and EmailOtpAuthController, the new texts, and the admin cleanup methods. Updates the get started walkthrough to the flow new projects now use. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Email sign-in with EmailOtpIdpBaseEndpoint handles both one-time code and password sign-in, so the docs now present it as the email sign-in rather than as one of two flows. Password-only sign-in with EmailIdpBaseEndpoint, the EmailSignInWidget, and the EmailAuthController moves to sections at the bottom of the setup, configuration, and customizing the UI pages. sendOtpLoginVerificationCode is listed last as optional, with its fallback to sendRegistrationVerificationCode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
SandPod
marked this pull request as draft
October 23, 2026 06:39
SandPod
force-pushed
the
docs/email-otp-sign-in
branch
from
October 23, 2026 06:39
8805a5f to
3f0e385
Compare
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
SandPod
marked this pull request as ready for review
October 23, 2026 08:42
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documents email sign-in with a one-time code, added in serverpod/serverpod#5869.
EmailOtpIdpBaseEndpointhandles both code and password sign-in for the same account, so the docs present it as the default email sign-in. Password-only sign-in (EmailIdpBaseEndpoint,EmailSignInWidget,EmailAuthController) moves to a section at the bottom of the setup, configuration, and customizing the UI pages. New projects use code sign-in, so the get started walkthrough is updated too. Only the unreleaseddocs/tree is changed, since the feature ships in 4.1.Changes
EmailOtpIdpBaseEndpoint. The custom email provider example listssendOtpLoginVerificationCodelast, as optional, with its fallback tosendRegistrationVerificationCode. The client section coversEmailOtpSignInWidgetandallowPasswordSignIn. A new Switch from password-only sign-in section at the bottom has the steps for projects created before 4.1 (base class, regenerate, migration, widget override), and the warning about brokenaccountRequestIdlinks when the sign-in callback falls back to the registration one.allowPasswordOnOtpRegistration, the 6-digit sign-in code and its custom generator (with a warning to matchotpVerificationCodeConfigin the app), the development code bypass, and the new rate limits. ThepasswordRequirementstip namesEmailOtpSignInWidgetandEmailOtpAuthController. Registration code customization moves to a password-only section at the bottom.EmailOtpSignInWidgetandEmailOtpAuthController. Covers their parameters, appearance, state management, screens, navigation, code sign-in with the optional password, password sign-in, password reset, resending codes, retrying afterOtpLoginRejectedException, and email aliases being accepted by default.EmailSignInWidgetandEmailAuthControllermove to a password-only section at the bottom, with a note thatEmailOtpSignInWidgetshould be used instead.deleteExpiredOtpLoginRequestsanddeleteOtpLoginAttempts.emailOtpSignInWidgetoverride, with a pointer to the switch section for password-only projects. The localization section addsEmailWithOtpSignInTextsandVerificationCodeTexts.Login code for …log line, Create account), with a note linking projects created before 4.1 to the switch section.EmailOtpIdpBaseEndpoint, the provider list mentions code sign-in, and the migration guide covers both endpoint base classes.To check
/img/authentication/sign-in-widget-device.png) likely still shows the password flow.deleteOtpLoginAttempts(email: ...)withoutolderThanonly deletes entries outside the 15 minute window, so it does not lift the rate limit as its doc comment says. The docs example passesolderThan: Duration.zero.EmailSignInTextsandEmailWithOtpSignInTexts. Consolidating them is tracked as a breaking change in Consolidate the email sign-in text objects into one serverpod#5896.🤖 Generated with Claude Code