Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neon-20/authify
Authify presents a simple yet robust authentication system designed to meet the specific needs of developers.👨🏻💻
https://github.com/neon-20/authify
Last synced: about 2 months ago
JSON representation
Authify presents a simple yet robust authentication system designed to meet the specific needs of developers.👨🏻💻
- Host: GitHub
- URL: https://github.com/neon-20/authify
- Owner: Neon-20
- Created: 2024-01-01T16:10:36.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-08-10T09:30:10.000Z (5 months ago)
- Last Synced: 2024-08-10T10:37:39.105Z (5 months ago)
- Language: TypeScript
- Homepage: https://authify.pranavrajveer.com
- Size: 3.12 MB
- Stars: 13
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🔐 Authify - Auth for devs: (Next-auth V5)
## Top-20 Product of the Day on PH
[ProductHunt](https://www.producthunt.com/products/authify)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 🎥## 🚀 Key Features
- **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.## ⚡️ Quick Setup (Use this repo as a template and start coding 👨🏻💻)
## 1. Install Dependencies```bash
npm i
```
## 2. Configure Environment Variables:
Copy the .env.example file to a new file named .env. Update the file with your secrets and credentials.```bash
cp .env.example .env
# Edit the .env file with your secrets
```
## 3. Create OAuth Apps
Create OAuth apps on Google and GitHub. Obtain the client IDs and secrets, then update your .env file with these values.## 4. Set Up Prisma
Run the following commands to set up and generate Prisma:```bash
npx prisma generate
npx prisma db push
npx prisma studio
```
## 5. Set Up Local Database or Spin Up your own.
If you don't have Docker installed, you can install it from Docker's official website.```bash
docker run -p 5432:5432 --name your-postgres-container -e POSTGRES_PASSWORD=your-password -d postgres
```
### orUse neon.tech for PostgreSQL:
Follow the instructions on neon.tech to set up a PostgreSQL database.## 7. Optional: Set Up Email (with Resend)
Configure email settings if you want to enable email functionality. Update the necessary fields in your .env file.## 8. Start the Development Server
Run the following command to start the development server:
```bash
npm run dev
```
### Your Authify setup should now be running locally. Access it at http://localhost:3000. 🎉## 📦 Built With
- TailwindCSS
- NextJS
- TypeScript
- Resend
- Next-Auth
- Shadcn-UI## 💡 Future Improvements
- *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.## 🎬 Video
https://github.com/Neon-20/Authy/assets/55043383/c4921663-f1c9-4e17-a0b5-124934f83f0b