How would you implement a custom DRF authentication class?
PICTURE THIS: A SENTENCE BECOMES TOKENS
The model does not read letters like humans. It reads these pieces, then predicts the next one.
Simple meaning
Subclass BaseAuthentication and implement authenticate(self, request) returning (user, auth) or None.
WHY — DRF instead of guessing?
Why interviewers care about DRF:
question about DRF.
trade-offs, and what you would actually do on a Python project - not buzzwords.
Name the idea, why it exists, then one short example.
End with when you use it and one common pitfall.
STEPS — What happens with tokens?
Before the model can read a sentence, it goes through these steps:
- 1Subclass BaseAuthentication and implement
authenticate(self, request) returning (user, auth) or None.
- 2Raise AuthenticationFailed for malformed
credentials so DRF returns 401 with the right WWW-Authenticate.
- 3Keep token lookup indexed,
and never log secrets.
- 4Context mix
Attention looks at nearby tokens together.
- 5Next token
The model scores what should come next.
- 6Decode
IDs turn back into readable text.
EXAMPLE — See it in action
Let's see how a real sentence is tokenized (tokens may vary by model):
Note: Actual tokens and IDs depend on the tokenizer (e.g., GPT, Llama, etc.).
Key takeaway
Subclass BaseAuthentication and implement authenticate(self, request) returning (user, auth) or None. Raise AuthenticationFailed for malformed credentials so DRF returns 401 with the right WWW-Authenticate.