django / django/new-features

Auth system improvements

Open
#12 8 comments 45 reactions 0 assignees View on GitHub
Authentication/Users
Dominant language
No language data
Stars
188
Forks
7
PR merge metrics
No merged PRs in 30d

Description

### Code of Conduct

- [x] I agree to follow Django's Code of Conduct

### Feature Description

(This is a split from https://github.com/django/new-features/issues/10)

### Problem

Django has a builtin authentication system, but it doesn't cover features that should be present in any authentication system (e.g. 2FA), [as per NIST suggestions](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63-3.pdf). It is fine for local testing and production services categorised at AAL1 level, but anything above that requires 3rd party packages (`django-allauth` comes to mind as an example of a very robust and feature rich package).

I understand that Django can't just merge `django-allauth` and call it a day. A framework has a radically different release schedule compared to a 3rd party package, and supporting oauth with XYZ service (which would require hardcoding URLs of external services) feels like a stretch, but maybe there could be a middle ground. Maybe Django can integrate into its core some parts of `django-allauth`?

### Request or proposal

Request changes for Django to implement / provide out of the box:

* at least basic password-related functionality (user registration, password recovery, etc...)
* secure authentication mechanisms (2FA / MFA; maybe hardware authentication, eg. yubikeys)
* stateless authentication (jwt creation, refresh, invalidation, etc...)

I would suggest trying to integrate the core (features) of `django-allauth`.

### Additional Details

_No response_

### Implementation Suggestions

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the split proposal at new-features#10 and comparing Django’s built-in authentication scope with django-allauth. The issue names no files, tests, or entry points; work is not well-defined until the broad request is narrowed to a specific capability and completion criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
django
Domain
authentication, backend, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.