InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more →
Oauth Alternatives
Similar projects and alternatives to oauth
-
ASP.NET Core
ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
-
-
-
-
-
-
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
-
-
-
-
-
-
-
node-oauth2-server
Complete, compliant and well tested module for implementing an OAuth2 Server/Provider with express in node.js
-
spring-security-oauth2-sample
This module is based on Spring Authorization Server and contains information on using Spring Security OAuth2
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
oauth discussion
oauth reviews and mentions
-
A coordinated dance to identify the editor
get -> 'raku-auth', :%params { CATCH { default { content 'text/html', 'Raku documentationAuthorisation error.Please report'; say 'error is: ', .message; for .backtrace.reverse { next if .file.starts-with('SETTING::'); next unless .subname; say " in block { .subname } at { .file } line { .line }"; last if .file.starts-with('NQP::') } } } my %decoded = from-json( base64-decode( %params).decode ); say strftime(DateTime.now, '%v %R') ~ ': got from Github params: ', %params , ' state decoded: ', %decoded if $debug; my $editor = %decoded; my $resp = await Cro::HTTP::Client.post( "https://github.com/login/oauth/access_token", query => %( :$client_id, :$client_secret, :code( %params ), ), ); # Github returns an object with keys access_token, expires_in (& others not needed) my $body = await $resp.body; my %data = $body.decode.split('&').map(|*.split("=",2)); # first store the data for future suggestions my $token = %data; my $expiration = now.DateTime + Duration.new( %data); $store.add-editor($editor, $expiration, $token ); # next put the data in a stream for suggestions that have already arrived $auth-stream.emit( %( :$editor, :$expiration, :$token ) ); content 'text/html', 'Raku documentationEditing has been authorised.Thank you'; } get -> 'suggestion_box' {
-
Tauri (7) - Implementing OAuth login functionality
import { useSearchParams } from "react-router-dom"; const [searchParams] = useSearchParams(); const uid = searchParams.get("request_id"); const port = searchParams.get("port"); const code = searchParams.get("code"); // GitHub Authorization const authWithGithub = (uid: string, port: any) => { const authorizeUrl = "https://github.com/login/oauth/authorize"; location.href = `${authorizeUrl}?client_id=${"xxxxxxxx"}&redirect_uri=http://localhost:1420/login?port=${port}`; }; // GitHub Login function handleGithubSignIn() { uid && authWithGithub(uid, port); } // Monitor code and callback to app useEffect(() => { setTimeout(() => { window.location.href = `http://localhost:${port}/?code=${code}&provider=coco-cloud`; }, 10000); }, [code]);
-
Unlocking the Secrets of Authentication: A Human's Guide to Digital Security 🔐
# A simplified OAuth flow using Python and requests library import requests class OAuth2Client: def __init__(self, client_id, client_secret, redirect_uri): self.client_id = client_id self.client_secret = client_secret self.redirect_uri = redirect_uri def get_authorization_url(self, provider): """Generate authorization URL for different providers""" providers = { 'google': 'https://accounts.google.com/o/oauth2/v2/auth', 'github': 'https://github.com/login/oauth/authorize' } return f"{providers[provider]}?client_id={self.client_id}&redirect_uri={self.redirect_uri}&response_type=code" def exchange_code_for_token(self, provider, authorization_code): """Exchange authorization code for access token""" token_url = { 'google': 'https://oauth2.googleapis.com/token', 'github': 'https://github.com/login/oauth/access_token' } response = requests.post(token_url[provider], data={ 'client_id': self.client_id, 'client_secret': self.client_secret, 'code': authorization_code, 'grant_type': 'authorization_code', 'redirect_uri': self.redirect_uri }) return response.json()
-
Implementing OAuth2 in Spring Boot: A Step-by-Step Guide
spring: security: oauth2: client: registration: github: client-id: YOUR_GITHUB_CLIENT_ID client-secret: YOUR_GITHUB_CLIENT_SECRET scope: read:user provider: github: authorization-uri: https://github.com/login/oauth/authorize token-uri: https://github.com/login/oauth/access_token user-info-uri: https://api.github.com/user user-name-attribute: id
-
Building jargons.dev [#4]: The Authentication System
/** * Exchange Web Flow Authorization `code` for an `access_token` * @param {string} code * @returns {Promise<{access_token: string, scope: string, token_type: string}>} */ async function exchangeWebFlowCode(code) { const queryParams = new URLSearchParams(); queryParams.append("code", code); queryParams.append("client_id", import.meta.env.GITHUB_OAUTH_APP_CLIENT_ID); queryParams.append("client_secret", import.meta.env.GITHUB_OAUTH_APP_CLIENT_SECRET); const response = await fetch("https://github.com/login/oauth/access_token", { method: "POST", body: queryParams }); const responseText = await response.text(); const responseData = new URLSearchParams(responseText); return responseData; }
-
Understanding Federation Services: Importance, Challenges, and Solutions for Enterprises
from flask import Flask, redirect, url_for, session from authlib.integrations.flask_client import OAuth app = Flask(__name__) app.secret_key = 'random_secret_key' oauth = OAuth(app) # Configuration for OAuth providers oauth.register( name='google', client_id='GOOGLE_CLIENT_ID', client_secret='GOOGLE_CLIENT_SECRET', access_token_url='https://accounts.google.com/o/oauth2/token', authorize_url='https://accounts.google.com/o/oauth2/auth', authorize_params=None, authorize_redirect_uri=None, scope='openid email profile', token_endpoint_auth_method='client_secret_post', ) oauth.register( name='github', client_id='GITHUB_CLIENT_ID', client_secret='GITHUB_CLIENT_SECRET', access_token_url='https://github.com/login/oauth/access_token', authorize_url='https://github.com/login/oauth/authorize', authorize_params=None, authorize_redirect_uri=None, scope='user:email', token_endpoint_auth_method='client_secret_post', ) oauth.register( name='facebook', client_id='FACEBOOK_CLIENT_ID', client_secret='FACEBOOK_CLIENT_SECRET', access_token_url='https://graph.facebook.com/v10.0/oauth/access_token', authorize_url='https://www.facebook.com/v10.0/dialog/oauth', authorize_params=None, authorize_redirect_uri=None, scope='email', token_endpoint_auth_method='client_secret_post', ) @app.route('/') def homepage(): return 'Welcome to the Federation Service Example! Login with Google' @app.route('/login/') def login(provider): redirect_uri = url_for('authorize', provider=provider, _external=True) return oauth.create_client(provider).authorize_redirect(redirect_uri) @app.route('/authorize/') def authorize(provider): token = oauth.create_client(provider).authorize_access_token() user_info = oauth.create_client(provider).parse_id_token(token) return f'Logged in as: {user_info}' if __name__ == '__main__': app.run(debug=True)
-
Dev Containers - Part 4: Remote Dev - Develop on a Remote Docker Host
Either option you choose, when you try to connect for the first time, you'll be prompted to log into your Github/Microsoft account at a https://github.com/login/oauth/authorize... URL.
- Implementing SSO in React with GitHub OAuth2
-
FastAPI Production Setup Guide 🏁⚡️🚀
import hashlib from datetime import datetime import httpx from fastapi import APIRouter, HTTPException, Query from app.config import settings from app.utilities.db import db from .models import OauthException, OauthToken router = APIRouter() @router.get( "/callback", response_model=OauthToken, responses={ 400: {"description": "Oauth Error", "model": OauthException}, }, ) async def oauth_callback( code: str = Query(description="Authorization Code"), ) -> OauthToken: """ GitHub Oauth Integration Callback """ async with httpx.AsyncClient() as client: token_result = await client.post( "https://github.com/login/oauth/access_token", json={ "client_id": settings.github_oauth_client_id, "client_secret": settings.github_oauth_client_secret, "code": code, "redirect_uri": "http://localhost:8000/v1/auth/callback", }, headers={"Accept": "application/json"}, ) data = token_result.json() error = data.get("error") if error: raise HTTPException( status_code=400, detail=f"{data.get('error')}: {data.get('error_description')}", ) access_token: str = data.get("access_token") user_result = await client.get( "https://api.github.com/user", headers={"Authorization": f"Bearer {access_token}"}, ) user_data = user_result.json() user = user_data.get("login") await db.tokens.insert_one( { "user": user, "access_token_hash": hashlib.sha256(access_token.encode()).hexdigest(), "created_date": datetime.utcnow(), }, ) return OauthToken(access_token=access_token)
-
Laravel SPA OAuth using GitHub, Socialite, and Sanctum
The actual URL is https://github.com/login/oauth/authorize?client_id=bbb58b28cdd98636e3e2&redirect_uri=http%3A%2F%2F127.0.0.1%3A8000%2Fcallback&scope=user%3Aemail&response_type=code
-
A note from our sponsor - InfluxDB
www.influxdata.com | 12 Jul 2025