{"id":22493170,"url":"https://github.com/abdullah00001/authify0","last_synced_at":"2026-04-09T02:31:39.487Z","repository":{"id":265588689,"uuid":"896293855","full_name":"Abdullah00001/Authify0","owner":"Abdullah00001","description":"Authify0: A secure authentication backend using Node.js, Express, MongoDB, and Mongoose. Features include signup, OTP-based email verification, login, logout, profile management, account deletion, and password recovery. It leverages JWT for authentication, Nodemailer for emails, and bcrypt for password encryption, ensuring user security.","archived":false,"fork":false,"pushed_at":"2024-11-30T04:27:47.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T20:45:49.882Z","etag":null,"topics":["back-end","bcrypt","expressjs","javascript","jsonwebtoken","nodejs","nodemailer","rest-api"],"latest_commit_sha":null,"homepage":"https://authify0.onrender.com/api/v1","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Abdullah00001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-30T01:31:17.000Z","updated_at":"2024-11-30T04:38:20.000Z","dependencies_parsed_at":"2024-11-30T08:59:06.520Z","dependency_job_id":null,"html_url":"https://github.com/Abdullah00001/Authify0","commit_stats":null,"previous_names":["abdullah00001/authify0"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Abdullah00001/Authify0","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdullah00001%2FAuthify0","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdullah00001%2FAuthify0/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdullah00001%2FAuthify0/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdullah00001%2FAuthify0/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abdullah00001","download_url":"https://codeload.github.com/Abdullah00001/Authify0/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdullah00001%2FAuthify0/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31582607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["back-end","bcrypt","expressjs","javascript","jsonwebtoken","nodejs","nodemailer","rest-api"],"created_at":"2024-12-06T18:33:37.797Z","updated_at":"2026-04-09T02:31:39.482Z","avatar_url":"https://github.com/Abdullah00001.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Authify0**  \n\nA secure and scalable authentication backend built with **Node.js**, **Express**, **MongoDB**, and **Mongoose**. Authify0 provides robust user authentication and account management with features like signup, OTP-based email verification, login, profile management, and password recovery.\n\n---\n\n## 🔑 **Features**  \n\n- **Signup:**  \n  Users can register a new account.  \n\n- **OTP-Based Email Verification:**  \n  Verifies users via OTP sent to their email.  \n\n- **Resend Verification:**  \n  Allows users to request a new OTP.  \n\n- **Authentication \u0026 Authorization:**  \n  - Automatic authentication upon verification.  \n  - JWT-based secure session management.  \n\n- **Login \u0026 Logout:**  \n  - Users can log in with verified accounts.  \n  - Secure logout to end the session.  \n\n- **Profile Management:**  \n  Users can view and update profile information.  \n\n- **Account Deletion:**  \n  Users can delete their account permanently.  \n\n- **Password Recovery:**  \n  - Request OTP to reset a forgotten password.  \n  - Reset password after OTP verification.  \n\n---\n\n## 🛠 **Tech Stack**  \n\n- **Backend:**  \n  - Node.js  \n  - Express.js  \n\n- **Database:**  \n  - MongoDB  \n  - Mongoose  \n\n- **Security \u0026 Authentication:**  \n  - JWT (JSON Web Tokens)  \n  - Bcrypt (Password Hashing)  \n\n- **Email Services:**  \n  - Nodemailer (for OTP and notifications)  \n\n---\n\n## 📦 **Installation**  \n\n1. **Clone the repository:**  \n   ```bash\n   git clone https://github.com/your-username/authify0.git\n   cd authify0\n## 2 Install Dependencies\n\n```bash\nnpm install\n```\n### 3. Configure Environment Variables\n\nCreate a `.env` file in the root directory of the project with the following variables:\n\n```dotenv\nCLOUDINARY_CLOUD_NAME=your-cloudinary-cloud-name  \nCLOUDINARY_API_KEY=your-cloudinary-api-key  \nCLOUDINARY_API_SECRET=your-cloudinary-api-secret  \n\nACCESSTOKEN_SECRET_KEY=your-access-token-secret-key  \nREFRESHTOKEN_SECRET_KEY=your-refresh-token-secret-key  \n\nHOST_EMAIL=your-host-email  \nHOST_PASS=your-host-email-password  \n\nNODEMAILER_SECRET_KEY=your-nodemailer-secret-key  \n\nMONGODB_URI_DEV=your-mongodb-uri  \nDEVELOPMENT_DOMAIN=your-development-domain  \nDEVELOPMENT_URL=your-development-url  \n```\n### 4. Run the Application\n\nTo start the application, run the following command:\n\n```bash\nnpm start\n```\n### 5. 🧪 API Endpoints\n\n| Method | Endpoint              | Description                        | Auth Required |\n|--------|-----------------------|------------------------------------|---------------|\n| POST   | `/api/signup`          | Register a new user               | No            |\n| POST   | `/api/verify`          | Verify account with OTP           | No            |\n| POST   | `/api/resend-otp`      | Resend OTP                        | No            |\n| POST   | `/api/login`           | Log in a user                     | No            |\n| POST   | `/api/logout`          | Log out the user                  | Yes           |\n| GET    | `/api/profile`         | Get user profile                  | Yes           |\n| DELETE | `/api/delete-account`  | Delete user account               | Yes           |\n| POST   | `/api/forgot-password` | Request password recovery OTP     | No            |\n| POST   | `/api/reset-password`  | Reset password with OTP           | No            |\n\n### 6. 🔐 Security\n\n- Passwords are securely hashed using bcrypt.\n- JWT is used for authentication and session management.\n- OTPs are securely generated and sent via Nodemailer.\n### 7. 🚀 Future Enhancements\n\n- Implement Multi-Factor Authentication (MFA).\n- Add social login options (Google, Facebook).\n- Introduce rate limiting for enhanced security.\n\n---\n\n### 📄 License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\nFeel free to contribute or open issues if you find any bugs or have suggestions for improvements!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdullah00001%2Fauthify0","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdullah00001%2Fauthify0","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdullah00001%2Fauthify0/lists"}