Release v1.10.0
Release 1.10.0
Changelog
Security
- Require IdP
email_verified(or GitHubverified) before auto-linking or creating local users from social login (social_login.require_verified_email, defaulttrue). - Built-in rate limits (PSR-6
cache.app): password-reset request, magic-login request, registration POST; OTP reset lockout viapassword_reset.max_code_attempts. - Reject non-HTTPS / private / loopback custom OAuth endpoint URLs (SSRF hardening).
configure-securityaddsPUBLIC_ACCESSfor social login routes when mode is enabled; access_control patterns expand{provider}/{id}.first_user_onlyregistration re-checks user count after flush and rolls back on race.- Magic login no longer 500s when firewall
login_linkis missing (silent skip + warning log; anti-enumeration).
Added
AuthKitAttemptLimiter,OAuthEndpointUrlValidator, profile knobsregistration_rate_*,password_reset/magic_loginrequest_rate_*,max_code_attempts,require_verified_email.- Translation key
register.flash_rate_limited(all locales).
Changed
- QR-LOGIN.md design: hard gate on verified phone (
phone+phoneVerifiedAt) clarified (still in development / not shipped).
Full Changelog: v1.9.1...v1.10.0