⚠️ Not suitable for beginners
Is your feature request related to a problem? Please describe.
An admin user can have both a local Django password and a connected social account. When password expiration is enabled and the local password expires, the user is forced into the password-change flow even if they intend to use social login only.
Describe the solution you'd like
When an authenticated admin user reaches the expired-password flow and already has at least one connected social account, show an additional option to remove the Django password entirely.
If the user chooses this option:
- the local Django password should be cleared or replaced with an unusable password,
- the account should remain connected to the existing social account(s),
- future logins should rely only on social authentication,
- the user should not be prompted again to update a password for password-based authentication.
This would be especially useful for admins who initially signed up with email/password and later migrated to SSO-only access.
Additional context
Relevant behavior already exists for password expiration redirect and password update flows in the admin and account views, so this feature would extend the current expired-password handling rather than replace it.
Is your feature request related to a problem? Please describe.
An admin user can have both a local Django password and a connected social account. When password expiration is enabled and the local password expires, the user is forced into the password-change flow even if they intend to use social login only.
Describe the solution you'd like
When an authenticated admin user reaches the expired-password flow and already has at least one connected social account, show an additional option to remove the Django password entirely.
If the user chooses this option:
This would be especially useful for admins who initially signed up with email/password and later migrated to SSO-only access.
Additional context
Relevant behavior already exists for password expiration redirect and password update flows in the admin and account views, so this feature would extend the current expired-password handling rather than replace it.