{"id":15723414,"url":"https://github.com/valuemelody/melody-auth","last_synced_at":"2025-05-16T09:04:32.960Z","repository":{"id":251276658,"uuid":"826480313","full_name":"ValueMelody/melody-auth","owner":"ValueMelody","description":"A turnkey OAuth \u0026 authentication system, designed for both Cloudflare Workers and Node.js","archived":false,"fork":false,"pushed_at":"2025-05-13T02:15:40.000Z","size":8128,"stargazers_count":233,"open_issues_count":4,"forks_count":19,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-13T02:40:37.809Z","etag":null,"topics":["authentication-system","cloudflare","cloudflare-workers","honojs","identity-provider","mfa-authenticator","oauth2","passkey-authentication","passwordless-authentication","self-hosting","social-login"],"latest_commit_sha":null,"homepage":"https://auth.valuemelody.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ValueMelody.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2024-07-09T19:38:12.000Z","updated_at":"2025-05-13T02:15:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"f70df293-2f6f-4289-97ef-fe6832ed147d","html_url":"https://github.com/ValueMelody/melody-auth","commit_stats":{"total_commits":187,"total_committers":1,"mean_commits":187.0,"dds":0.0,"last_synced_commit":"2cffc8969ef12e367cb0caa78e545107191f80d7"},"previous_names":["valuemelody/melody-auth"],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValueMelody%2Fmelody-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValueMelody%2Fmelody-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValueMelody%2Fmelody-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValueMelody%2Fmelody-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ValueMelody","download_url":"https://codeload.github.com/ValueMelody/melody-auth/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501556,"owners_count":22081528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["authentication-system","cloudflare","cloudflare-workers","honojs","identity-provider","mfa-authenticator","oauth2","passkey-authentication","passwordless-authentication","self-hosting","social-login"],"created_at":"2024-10-03T22:11:33.919Z","updated_at":"2025-05-16T09:04:32.954Z","avatar_url":"https://github.com/ValueMelody.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Melody Auth\n\n**Melody Auth** is a user-friendly, robust solution for implementing and hosting your own OAuth and authentication system.\n- Deploy to **Cloudflare** using **Workers, D1, and KV** in just minutes — minimizing infrastructure and DevOps overhead.\n- **Self-Host** with **Node.js, Redis, and PostgreSQL** — giving you full control over your data and infrastructure.\n\n[![codecov](https://codecov.io/gh/ValueMelody/melody-auth/graph/badge.svg?token=AB3C1DCJJM)](https://codecov.io/gh/ValueMelody/melody-auth)\n\n**Disclaimer** All French translations provided in this project have been generated by AI. Please review them carefully for accuracy before use.\n\n## What's included?\n- Complete **OAuth \u0026 Authentication Server**\n  - [Auth Server Setup Doc](https://auth.valuemelody.com/auth-server-setup.html)\n  - [Auth Server Configuration Doc](https://auth.valuemelody.com/auth-server-configuration.html)\n- **Server-to-Server REST API** for backend integrations\n  - [Swagger API Doc](https://auth-server.valuemelody.com/api/v1/swagger)\n  - [S2S API Doc](https://auth.valuemelody.com/s2s-api.html)\n- **React/Angular/Vue SDK** to seamlessly integrate PKCE-based authentication into your frontend application.\n  - [React NPM Package](https://www.npmjs.com/package/@melody-auth/react)\n  - [React SDK Doc](https://auth.valuemelody.com/react-sdk.html)\n  - [Angular NPM Package](https://www.npmjs.com/package/@melody-auth/angular)\n  - [Angular SDK Doc](https://auth.valuemelody.com/angular-sdk.html)\n  - [Vue NPM Package](https://www.npmjs.com/package/@melody-auth/vue)\n  - [Vue SDK Doc](https://auth.valuemelody.com/vue-sdk.html)\n- **Admin Panel** for managing resources (also serves as a full-stack implementation example)\n  - [Admin Panel Setup Doc](https://auth.valuemelody.com/admin-panel-setup.html)\n\n## Auth Server Features Supported\n- \u003cb\u003eOAuth 2.0\u003c/b\u003e:\n  - Authorize\n  - Token Exchange\n  - Refresh Token Revoke\n  - App Consent\n  - App Scopes\n  - User Info Retrieval\n  - OpenID Configuration\n- \u003cb\u003eAuthorization\u003c/b\u003e:\n  - Sign-In\n  - Passwordless Sign-In\n  - Sign-Up\n  - Sign-Out\n  - Email Verification\n  - Password Reset\n  - Role-Based Access Control\n  - Account Linking\n  - Localization [How to support a new locale](https://auth.valuemelody.com/q_a.html#how-to-support-a-new-locale)\n- \u003cb\u003eSocial Sign-In\u003c/b\u003e:\n  - Google Sign-In\n  - Facebook Sign-In\n  - GitHub Sign-In\n  - Discord Sign-In\n  - Apple Sign-In\n  - OIDC Auth Provider Sign-In\n- \u003cb\u003eMulti-Factor Authentication\u003c/b\u003e [How to setup MFA](https://auth.valuemelody.com/q_a.html#how-to-setup-mfa)\n  - Email MFA\n  - OTP MFA\n  - SMS MFA\n  - MFA Self Enrollment\n  - Passkey Enrollment\n- \u003cb\u003ePolicy\u003c/b\u003e [How to trigger a different policy](https://auth.valuemelody.com/q_a.html#how-to-trigger-a-different-policy)\n  - sign_in_or_sign_up\n  - update_info\n  - change_password\n  - change_email\n  - reset_mfa\n  - manage_passkey\n- \u003cb\u003eOrganization\u003c/b\u003e:\n  - Branding config override\n- \u003cb\u003eMailer Option\u003c/b\u003e [Email Provider Setup Doc](https://auth.valuemelody.com/email-provider-setup.html)\n  - SendGrid\n  - Mailgun\n  - Brevo\n  - Resend\n  - Postmark\n  - SMTP (Node.js environment only)\n- \u003cb\u003eSMS Option\u003c/b\u003e [SMS Provider Setup Doc](https://auth.valuemelody.com/sms-provider-setup.html)\n  - Twilio\n- \u003cb\u003eJWT Authentication\u003c/b\u003e\n  - RSA256 based JWT Authentication [How to verify a SPA access token](https://auth.valuemelody.com/q_a.html#how-to-verify-a-spa-access-token)\n  - JWT Secret Rotate [How to rotate JWT secret](https://auth.valuemelody.com/q_a.html#how-to-rotate-jwt-secret)\n- \u003cb\u003eBrute-force Protection\u003c/b\u003e:\n  - Log in attempts\n  - Password reset attempts\n  - OTP MFA attempts\n  - SMS MFA attempts\n  - Email MFA attempts\n  - Change Email attempts\n- \u003cb\u003eLogging\u003c/b\u003e:\n  - Logger Level\n  - Email Logs\n  - SMS Logs\n  - Sign-in Logs\n\n## Admin Panel \u0026 S2S REST API Features Supported\n- View Configurations\n- Manage Users\n  - Impersonation [How to allow users with a custom role to perform impersonation](https://auth.valuemelody.com/q_a.html#how-to-allow-users-with-a-custom-role-to-perform-impersonation)\n- Manage Apps\n  - App Level MFA Config\n- Manage Scopes\n- Manage Roles\n- Manage Organizations\n- Manage Logs\n- Admin Panel Access Control [Custom Role Access for the Admin Panel](https://auth.valuemelody.com/admin-panel-setup.html#custom-role-access-for-the-admin-panel)\n\n## Demo \u0026 Examples\n- [Vite React Example](https://github.com/ValueMelody/melody-auth-examples/tree/main/vite-react-demo)\n  - [Demo Site: Password Sign-in/Sign-up with OTP MFA and Passkey enrollment](https://auth-demo.valuemelody.com)\n- [Angular Example](https://github.com/ValueMelody/melody-auth-examples/tree/main/angular-example)\n- [Vite Vue Example](https://github.com/ValueMelody/melody-auth-examples/tree/main/vite-vue-example)\n- [Next.js Full stack implementation Example](https://github.com/ValueMelody/melody-auth/tree/main/admin-panel)\n- [Next.js Auth.js Example](https://github.com/ValueMelody/melody-auth-examples/tree/main/next-auth-js-example)\n- [React Native Example](https://github.com/ValueMelody/melody-auth-examples/tree/main/react-native-example)\n\n## Screenshots\n[Authorization Screenshots](https://auth.valuemelody.com/screenshots.html#identity-pages-and-emails)  \n[Admin Panel Screenshots](https://auth.valuemelody.com/screenshots.html#admin-panel-pages)\n\n## License\n\nThis project is licensed under the MIT License. See the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaluemelody%2Fmelody-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaluemelody%2Fmelody-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaluemelody%2Fmelody-auth/lists"}