Ready to go Authenticator template
- 8 Devlogs
- 15 Total hours
A reusable backend starter kit for any website that need user authentication
A reusable backend starter kit for any website that need user authentication
Minor bug fix
Fixed some bugs when signing up and pytest bug fix. Wat throwing 500 Internal server error because errors were not handled.
Rate limiting and documentation
So now BOTS and other spammers cannot enlessly access enpoints and have limits. If you hit one you will be send to stop page, where Arnold would manage you. For all routes is implemented this restriction:
default_limits=["200 per day", "50 per hour"]
And for popular routes that can get under attack like /signup or /login there are more scrict limits.
Admin page and username availability check
Long time no see) So I added username availability check every 1500 ms, and admin page, where admin can view users and delete them. Frontend should be improved bc it doesnt utilize /admin/view_users full potential, but it is good for now. Also as you can see i added roles, so now you can have admin or user role, where admin role users have access to this page.
Added enspoints:
GET /api/users/check -> Check if a username exists
GET /admin -> Admin dashboard
GET /admin/view_users -> List users (by page)
DELETE /delete_user/<id> -> Delete a user
Today I wrote Forgot password route
Now users can reset their password through email link:
Today I added a way to update password and email for non OAuth 2.0 users
Today were fixed multiple bugs, improved password validity checking and added a way to change password and email. (image shows what error codes you can get while updating your email)
Other small updates:
Authentication system demo video
Project progress at this moment, written in hronological order
Day 1-2 (image 1)
Day 3 (image 2)
Day 4-5 (no image)
Day 6-7 damn numbers (image 3)
Day 8 (image 4)
There is a lot to add next step is to implement CRUD operations
Information about this project
I started this project a couple weeks ago (Jul 4th) as an idea to create a fast, ready to go authentication system bassically for any project with advanced features. Unfortunately i didnt started posting in stardance when i started and I did not have Hackatime time tracking. Luckily I used git in this project and in couple next posts I will post progress that I made. I will post by chunks with significant moments. From now on I will track time and post oftenly 😁
(image shows current version of sign up page)