This repo is for the series of blog post covering Authentication in Astro.
- Turso DB
- Drizzle ORM
- Redis for storing verification codes and rate limiting
- Resend for sending emails
- Solid.js
- Zod
- Database session strategy for auth persistence
- Bcrypt for password encryption
I am not using any external auth library for this guide. At the moment of writing, Auth.js doesn't support Astro. In a separate blog post I will do all these authentication strategy through Lucia Auth.
Here are the strategies with their starter code, finished code and also the related blog post.
- Blog post: Google and Github Authentication OAuth2 Setup in Astro.js
- Starter: oauth-starter Direct Download
- Final: oauth-final Direct Download
- Blog post: Email Password Credential authentication Setup in Astro.js
- Starter: credentials-starter Direct Download
- Final: credentials-final Direct Download
- Blog post: Passwordless Magic Link Authentication Setup in Astro.js
- Starter: magic-link-starter Direct Download
- Final: magic-link-final Direct Download
Integration of TOTP based verification along with recovery codes.