feature/sso-oauth-24
master
OAuthIdentity
sub
GET /api/auth/oauth/<google|microsoft>/start/
/callback/
CustomUser
/auth/callback/
GOOGLE_OAUTH_*
MICROSOFT_OAUTH_*
OAUTH_CALLBACK_BASE_URL
.env.example
.env.prod.example
GET /api/public/settings/
oauth.google
oauth.microsoft
chat_web_app
python manage.py test chat_backend.tests.test_oauth
account_not_found
Introduce OAuthIdentity storage, start/callback endpoints, JWT handoff to the SPA, and mocked IdP tests so Drive OAuth (#11) can reuse the same model.
f8c29e09bb
be6ff471ad
Renumber OAuthIdentity to 0026 after 0025_outbound_email (master already shipped 0024_user_auth_event), and restore missing ResetUserPassword import.
No dependencies set.
The note is not visible to the blocked user.
Summary
OAuthIdentitymodel (provider +sub, access/refresh tokens) for SSO now and Drive reuse later (#11)GET /api/auth/oauth/<google|microsoft>/start/and/callback/CustomUserby verified email; issue same JWT access/refresh; redirect FE to/auth/callback/GOOGLE_OAUTH_*/MICROSOFT_OAUTH_*/OAUTH_CALLBACK_BASE_URLin.env.exampleand.env.prod.exampleGET /api/public/settings/asoauth.google/oauth.microsoftPair with
chat_web_appbranchfeature/sso-oauth-24Test plan
python manage.py test chat_backend.tests.test_oauthaccount_not_foundf8c29e09bbtobe6ff471ad