Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I like the email-based authentication, even though I had mixed feelings about it initially (not in the book specifically, but about Magic Links in general).
In the "spike" part of the chapter we sometimes take bigger leaps without checking our work, which I found a bit difficult to keep up with at first. Although we can't always check our work step-by-step, and having to re-read a few paragraphs here and there is just how technical books work. Also, practicing to read and make sense of source code is how developers operate. So I would not necessarily change it, I'm just providing my impressions. More importantly, I found it extremely useful: showing the readers the thought process, the sources/docs used for discovering how we could make something (like this custom authentication) work.
A couple of further notes without checking whether later chapters address these:
/logout
. I guess we certainly will, but I'm leaving a note regardless.set_password()
works in a password-based Django auth model. After all, a token alone grants full access to the user's account, so I would handle it the way I would handle a password.