This week, I've been working on additional pages and services related to authentication. As mentioned in last week's wrapup blog post, KeystoneJS comes with only a bare minimum of that kind of stuff. An admin can add a user, and the user can then log in, but only through a Keystone-branded backend. There's no "forgot password" or "reset password" or "register" or "user profile" or any of that, though administrators do have access to user profiles and can make some changes.
Anyway, that dog won't hunt, as they say, so I had to go ahead and build all of that stuff. As of now, the site has the following functionality:
- User registration with validation and checking for duplicate email addresses
- Log-In page that uses CloseBrace design
- Log-Out functionality
- Account confirmation via email
- Forgot password page
- Password reset via email (used by forgot password page and user account page)
- Most of the user account page
- Finish user account page, including avatar upload with drag-n-drop
- Create public user page
- Hunt down a couple of pesky bugs – this'll probably be ongoing.
That'll be about it for authentication and associated stuff. From there, we have only a few more items on the to-do list until we're ready to get this thing up on a production server and start beta-testing it! I was hoping for end-of-week but I think sometime next week is a bit more realistic. That's still pretty great, though. Hopefully we'll be able to work through any bugs found quickly, and get this thing out the door on the 6th!