oauth

By login

Oauth Alternatives

Similar projects and alternatives to oauth

  1. ASP.NET Core

    ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. supabase

    978 oauth VS supabase

    The Postgres development platform. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.

  4. vite

    946 oauth VS vite

    Next generation frontend tooling. It's fast!

  5. fastapi

    594 oauth VS fastapi

    FastAPI framework, high performance, easy to learn, fast to code, ready for production

  6. hub-feedback

    Feedback and bug reports for the Docker Hub

  7. quickstart-android

    Firebase Quickstart Samples for Android

  8. black

    349 oauth VS black

    The uncompromising Python code formatter

  9. berry

    219 oauth VS berry

    📦🐈 Active development trunk for Yarn ⚒

  10. wasmtime

    205 oauth VS wasmtime

    A lightweight WebAssembly runtime that is fast, secure, and standards-compliant

  11. Mermaid

    112 oauth VS Mermaid

    Edit, preview and share mermaid charts/diagrams. New implementation of the live editor.

  12. buster

    64 oauth VS buster

    Captcha solver extension for humans, available for Chrome, Edge and Firefox

  13. WASI

    55 oauth VS WASI

    WebAssembly System Interface

  14. cosign

    36 oauth VS cosign

    Code signing and transparency for containers and binaries

  15. node-config

    21 oauth VS node-config

    Node.js Application Configuration

  16. Spring Security

    Spring Security

  17. node-oauth2-server

    5 oauth VS node-oauth2-server

    Complete, compliant and well tested module for implementing an OAuth2 Server/Provider with express in node.js

  18. perry

    12 oauth VS perry

    A native TypeScript compiler written in Rust. Compiles TypeScript directly to executables using SWC and LLVM.

  19. react-coding-challenges

    A series of ReactJS coding challenges with a variety of difficulties.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better oauth alternative or higher similarity.

oauth discussion

Log in or Post with

oauth reviews and mentions

Posts with mentions or reviews of oauth. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2026-05-29.
  • Perry Compiles TypeScript directly to executables using SWC and LLVM
    10 projects | news.ycombinator.com | 29 May 2026
    'curl -s -X POST "https://github.com/login/oauth/access_token" -H "Accept: application/json" -d "client_id=' + GITHUB_CLIENT_ID + '&client_secret=' + GITHUB_CLIENT_SECRET + '&code=' + code + '"'
  • Show HN: Sifter – Does your CV stand out to LLMs?
    1 project | news.ycombinator.com | 26 May 2026
    Sounds intriguing but is GitHub login broken? It leads me to a 404 at

    https://github.com/login/oauth/authorize?client_id=[redacted...

  • Building LoopSignal Part 3: Closing the Loop with GitHub Issues and Status Notifications
    1 project | dev.to | 8 May 2026
    const state = Buffer.from( JSON.stringify({ projectId, userId: user.id }) ).toString("base64url"); const githubAuthUrl = new URL("https://github.com/login/oauth/authorize"); githubAuthUrl.searchParams.set("client_id", clientId); githubAuthUrl.searchParams.set("redirect_uri", redirectUri); githubAuthUrl.searchParams.set("scope", "repo"); githubAuthUrl.searchParams.set("state", state);
  • OAuth 2.0 Flows Demystified: Authorization Code, PKCE, and Client Credentials
    1 project | dev.to | 7 Apr 2026
    // Step 1: Redirect user to provider app.get('/auth/github', (req, res) => { const state = generateRandomString(16); // CSRF protection req.session.oauthState = state; const params = new URLSearchParams({ client_id: process.env.GITHUB_CLIENT_ID!, redirect_uri: `${process.env.APP_URL}/auth/github/callback`, scope: 'read:user user:email', state, }); res.redirect(`https://github.com/login/oauth/authorize?${params}`); }); // Step 2: Handle callback with code app.get('/auth/github/callback', async (req, res) => { const { code, state } = req.query; // Verify state to prevent CSRF if (state !== req.session.oauthState) { return res.status(400).send('Invalid state'); } // Exchange code for token (server-to-server) const tokenResponse = await fetch('https://github.com/login/oauth/access_token', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify({ client_id: process.env.GITHUB_CLIENT_ID, client_secret: process.env.GITHUB_CLIENT_SECRET, // never exposed to browser code, }), }).then(r => r.json()); const { access_token } = tokenResponse; // Fetch user info const user = await fetch('https://api.github.com/user', { headers: { Authorization: `Bearer ${access_token}` }, }).then(r => r.json()); // Create or find user in your DB const dbUser = await upsertUser({ githubId: user.id, email: user.email, name: user.name }); // Create your own session req.session.userId = dbUser.id; res.redirect('/dashboard'); });
  • Your Pull Requests Are Being Ignored. Fix It with This Simple Bot
    1 project | dev.to | 23 Mar 2026
    Name: GITHUB_PR_BOT Client ID: your GitHub App client ID Client Secret: your GitHub App client secret Scope: leave empty Authorization URL: https://github.com/login/oauth/authorize Token URL: https://github.com/login/oauth/access_token
  • OAuth Explained Like You're 5
    1 project | dev.to | 13 Feb 2026
    const express = require('express'); const axios = require('axios'); const app = express(); // Step 1: Redirect user to GitHub app.get('/login', (req, res) => { const githubAuthUrl = `https://github.com/login/oauth/authorize?client_id=${process.env.GITHUB_CLIENT_ID}&scope=read:user`; res.redirect(githubAuthUrl); }); // Step 3: Handle the callback app.get('/callback', async (req, res) => { const { code } = req.query; // Step 4: Exchange code for token const tokenResponse = await axios.post( 'https://github.com/login/oauth/access_token', { client_id: process.env.GITHUB_CLIENT_ID, client_secret: process.env.GITHUB_CLIENT_SECRET, code, }, { headers: { Accept: 'application/json' } } ); const accessToken = tokenResponse.data.access_token; // Step 5: Use the token const userResponse = await axios.get('https://api.github.com/user', { headers: { Authorization: `Bearer ${accessToken}` }, }); res.json(userResponse.data); }); app.listen(3000);
  • Designing an Authentication System: OAuth and SSO
    1 project | dev.to | 4 Feb 2026
    class SocialAuthProvider { constructor(config) { this.providers = { google: { authUrl: 'https://accounts.google.com/o/oauth2/v2/auth', tokenUrl: 'https://oauth2.googleapis.com/token', userInfoUrl: 'https://www.googleapis.com/oauth2/v2/userinfo', scope: 'openid email profile' }, github: { authUrl: 'https://github.com/login/oauth/authorize', tokenUrl: 'https://github.com/login/oauth/access_token', userInfoUrl: 'https://api.github.com/user', scope: 'user:email' } }; } async authenticateUser(provider, code) { const config = this.providers[provider]; if (!config) throw new Error(`Provider ${provider} not supported`); // Exchange code for token const tokenResponse = await fetch(config.tokenUrl, { method: 'POST', headers: { 'Accept': 'application/json' }, body: new URLSearchParams({ client_id: process.env[`${provider.toUpperCase()}_CLIENT_ID`], client_secret: process.env[`${provider.toUpperCase()}_CLIENT_SECRET`], code: code, grant_type: 'authorization_code' }) }); const tokens = await tokenResponse.json(); // Get user info const userResponse = await fetch(config.userInfoUrl, { headers: { 'Authorization': `Bearer ${tokens.access_token}` } }); return await userResponse.json(); } }
  • Supply Chain Security: A Deep Dive into SBOM and Code Signing
    2 projects | dev.to | 11 Jan 2026
    # (Replace `` with the email you used to log in) cosign verify \ --certificate-identity="" \ --certificate-oidc-issuer="https://github.com/login/oauth" \ $IMAGE_NAME # Verification for ttl.sh/09dc8b35-cabd-4bd8-885f-.../my-signed-image:1h -- # The following checks were performed on each of these signatures: # - The cosign claims were validated # - Existence of the claims in the transparency log was verified offline # - The code-signing certificate was verified using trusted certificate authority certificates # [{"critical":{"identity":{"docker-reference":"ttl.sh/09dc8b35-cabd-4bd8-885f-.../my-signed-image:1h"},"image":{"docker-manifest-digest":"sha256:410dabcd6f1d53f1f4e5c1ce9553efa298ca6bcdd086dfc976b8f659d58b46d2"},"type":"https://sigstore.dev/cosign/sign/v1"},"optional":{}}]
  • Show HN: Fanfa – Interactive and animated Mermaid diagrams
    2 projects | news.ycombinator.com | 8 Dec 2025
    it says 404:

    https://github.com/login/oauth/authorize?access_type=offline...

  • SvelteKit SurrealDB Login with GitHub
    4 projects | dev.to | 30 Nov 2025
  • A note from our sponsor - SaaSHub
    www.saashub.com | 11 Jun 2026
    SaaSHub helps you find the best software and product alternatives Learn more →