A server-side OAuth proxy that enables client-side applications to securely authenticate with GitHub.
Gatekeeper is a server-side OAuth proxy that enables client-side JavaScript applications to securely authenticate with GitHub's API. It solves GitHub's security restriction that prevents implementing the OAuth Web Application Flow in browser-only applications by providing a safe server component to exchange authorization codes for access tokens.
Frontend developers building browser-based applications that need to integrate with GitHub's API without maintaining a full backend server.
Developers choose Gatekeeper because it provides a minimal, focused solution to GitHub's client-side OAuth limitation—it's lightweight, easy to deploy, and works seamlessly with libraries like GitHub.js while keeping credentials secure.
Enables client-side applications to dance OAuth with GitHub.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Acts as a server-side intermediary to safely exchange authorization codes for GitHub access tokens without exposing client secrets, addressing GitHub's security restrictions as outlined in the README.
Provides a single endpoint (/authenticate/{code}) for straightforward integration with frontend applications, making it easy to implement as shown in the OAuth steps.
Supports deployment via Docker, Heroku, Azure, and traditional Node.js hosting, with detailed instructions for each platform in the README.
Allows configuration through both a config.json file and environment variables, offering flexibility for different deployment environments without exposing secrets in version control.
Exclusively handles GitHub OAuth, so it cannot be used for other authentication providers without significant modification, which limits its utility in multi-provider setups.
Requires deploying and maintaining a server instance, adding operational complexity compared to serverless or built-in backend solutions that might integrate OAuth more seamlessly.
Needs manual configuration of client ID and secret, which can be error-prone and requires careful handling to avoid security issues, as highlighted in the setup steps.
A new major version is in development, as noted in the 'New Release' section, which could introduce instability or require updates for existing implementations.