Authify delivers a developer-friendly authentication solution 🤝. Our focus: Simplicity meets Robust Security! 🛡️ Seamlessly integrate into your projects with ease, hassle-free implementation guaranteed! 🌐💻
Demo Available @ bottom 🎥
- MFA Login: Securely authenticate users with Multi-Factor Authentication for an added layer of protection.
- Password Recovery: Enable users to recover their passwords through a secure and user-friendly process.
- Resend Verification Emails: Effortlessly resend verification emails to users, ensuring a smooth onboarding experience.
- Role-Based Access Control (RBAC): Implement fine-grained access controls with role-based permissions, allowing you to tailor access levels to different users.
- Server and Client Components Built-in: Authify comes with both server and client components out of the box, streamlining the integration process for your application.
- Customizable to Your Needs: Tailor Authify to fit your specific requirements by customizing its features and functionality according to your application's unique needs.
npm i
Copy the .env.example file to a new file named .env. Update the file with your secrets and credentials.
cp .env.example .env
# Edit the .env file with your secrets
Create OAuth apps on Google and GitHub. Obtain the client IDs and secrets, then update your .env file with these values.
Run the following commands to set up and generate Prisma:
npx prisma generate
npx prisma db push
npx prisma studio
If you don't have Docker installed, you can install it from Docker's official website.
docker run -p 5432:5432 --name your-postgres-container -e POSTGRES_PASSWORD=your-password -d postgres
Use neon.tech for PostgreSQL: Follow the instructions on neon.tech to set up a PostgreSQL database.
Configure email settings if you want to enable email functionality. Update the necessary fields in your .env file.
Run the following command to start the development server:
npm run dev
Your Authify setup should now be running locally. Access it at http://localhost:3000. 🎉
- TailwindCSS
- NextJS
- TypeScript
- Resend
- Next-Auth
- Shadcn-UI
- Testing: Add certain edge test cases to test the product on every paradigm.
- EnterPrise Level: Introduction of enterprise level SSO.
- Themes: Let users pick their own color themes, including dark and light mode.
- PassKey Authentication: Addition of web-authn passkey authentication in the future.