30 open-source projects similar to golang/oauth2, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
PRAW is a Python wrapper for the Reddit API, functioning as a REST API client and social media data crawler. It provides a programmatic interface to fetch data, manage account content, and interact with the platform. The library implements a comprehensive OAuth 2.0 client supporting multiple authorization flows, including password, implicit, and refresh tokens, as well as read-only guest access. It distinguishes itself through a rate-limit-aware request scheduler that tracks server-side throttling to prevent API quota exhaustion and employs lazy-loading resource objects to fetch data only whe
Spotipy is a Python client library for interacting with the Spotify Web API. It provides a programmatic interface to manage music data, user accounts, and media playback. The library implements a full OAuth 2.0 client capable of handling authorization codes, client credentials, and implicit grants. It includes a token manager that supports automated token refreshing and pluggable caching backends to maintain stateful sessions. The project covers music metadata retrieval and search, allowing for the lookup of artists, albums, and tracks via resource identifiers and URIs. It also provides capa
This project is a PHP library for implementing a spec-compliant OAuth 2.0 authorization server. It serves as an authentication framework for managing user identities and client authorizations, providing the necessary components to issue and validate access and refresh tokens. The server supports a wide range of standardized authorization flows, including authorization code exchange, device grants, implicit flows, and PKCE enforcement. It handles complex token lifecycles through refresh token rotation, scope management, and the use of asymmetric keys for signing digital tokens. The system pro
Authlib is a comprehensive Python framework for implementing OAuth 1.0, OAuth 2.0, and OpenID Connect clients and servers. It provides a complete toolkit for identity management, spanning the development of authorization servers, resource servers, and client-side integrations. The library distinguishes itself through a full implementation of the JOSE specifications, including JSON Web Tokens, Encryption, Signatures, and Keys. It features specialized capabilities for non-interactive authentication via service account assertion frameworks and a compliance-correction layer designed to handle ide
wechatpy is a Python API SDK designed for interacting with official accounts, mini programs, and corporate communication APIs. It provides a unified interface for managing users, media, and messages, and includes a bot framework for processing incoming events and generating structured responses. The project implements a component-based client factory to perform actions across different account types and orchestrates OAuth2 flows for identity verification. It features an event-driven bot architecture and a pluggable token storage system to persist authentication sessions across environments.
This library is a PHP toolkit for managing OAuth 2.0 authentication flows and connecting applications to external service providers. It provides a standardized framework for handling token exchanges, managing authorization grants, and retrieving user profile information from diverse identity platforms. The project is distinguished by its inheritance-based provider pattern, which allows developers to build custom integration clients by extending base logic to support unique service workflows and non-standard API specifications. It employs interface-driven contracts to ensure consistent behavio
WeiXinMPSDK is a .NET software development kit designed to integrate WeChat services, official accounts, and mini programs into applications. It provides a multi-platform bot framework and a programmatic interface to interact with official, mini, and corporate accounts across the WeChat ecosystem. The project features interface-based platform abstraction and logic unification, allowing a single codebase to target multiple target platforms. It includes a messaging middleware for routing incoming requests and a distributed caching layer using providers like Redis or Memcached to synchronize ses
hello.js is a JavaScript REST API client and social media API wrapper designed for authenticating users and aggregating data across multiple social network providers. It provides a unified interface to standardize requests and response formats, allowing for consistent data retrieval from diverse external services. The project implements a secure OAuth2 handshake process that utilizes a proxy-based credential masking system to hide private API keys from the client side. It includes a token manager that handles the full authentication lifecycle, including scope-based permission mapping and an a
Authlib is a comprehensive Python library for building and integrating OAuth 1.0, OAuth 2.0, and OpenID Connect clients and servers. It provides a unified set of tools to manage authentication and authorization flows, allowing applications to either act as a client connecting to external identity providers or as a provider issuing tokens and managing user identities. The project distinguishes itself through a full implementation of the JOSE standards, offering a suite of cryptographic tools for generating, signing, encrypting, and validating JSON Web Tokens, Signatures, Encryption, and Keys.
Twit is a Node.js library and API client for interacting with Twitter. It provides a programmatic interface for accessing both REST and Streaming API endpoints to integrate social media data into JavaScript applications. The library enables real-time monitoring of Twitter events through a persistent streaming connection and an event-driven architecture. It also supports account automation, allowing for the management of user profiles and the programmatic execution of account actions. The toolkit covers media management via chunked file uploads, identity management through token-based authent
The Google API PHP Client Library is a development kit for interacting with Google Cloud services and APIs. It provides standardized service interfaces to retrieve and manipulate data, serving as a comprehensive SDK for executing network requests across Google cloud platforms. The library features a specialized authentication handler for OAuth 2.0, managing authorization flows, access tokens, and offline access via refresh tokens. It includes a service account authenticator that uses JSON key files or application default credentials for server-to-server communication, as well as mechanisms fo
Thunder Client is a REST API client extension for VS Code that functions as an HTTP request manager, testing tool, and mocking workspace. It allows users to send requests, organize them into collections, and manage API configurations directly within the editor. The project distinguishes itself through a command-line interface for executing automated test suites in CI/CD pipelines and a Git-based synchronization system for sharing request collections and environment configurations across teams. It also incorporates artificial intelligence to automate the conversion of API scripts during migrat
twitteroauth is a PHP library and REST API wrapper used for authenticating and interacting with the Twitter API. It functions as an OAuth 1.0a client that manages the secure handshake process to authorize user accounts and obtain access tokens. The library handles the three-legged authorization flow, including the generation of authorization URLs and the requesting of security tokens. It automates the calculation of cryptographic signatures for requests and manages token-based sessions to maintain authenticated state. The project provides capabilities for social media content management, suc
This project is a collection of Go packages and a programmatic interface for interacting with Google services and Google Cloud resources via REST APIs. It functions as a client library and SDK that transforms raw HTTP requests into structured Go function calls. The library utilizes discovery-based client generation to create type-safe clients from API discovery documents. It separates the acquisition of authorization tokens from the request logic through a token-source based authentication model. The project covers identity management and authentication via OAuth 2.0, service accounts, and A
This project is an OAuth 2.0 client library and OpenID Connect SDK designed for integrating Microsoft identity platforms into JavaScript applications. It serves as a cross-platform authentication client for managing user identities and daemon services across browser-based and server-side environments. The library provides tools for acquiring and managing JSON Web Tokens to secure access to protected web APIs. It supports various authentication flows, including single-page application authentication, server-side identity management in Node.js, and non-interactive authentication for background
Casbin is an authorization library designed to manage application access control and permissions through a configurable model-based engine. It serves as a centralized system for verifying whether a user has permission to perform specific actions on a resource. The engine supports multiple access control models, including Role-Based Access Control, Attribute-Based Access Control, and Access Control Lists. It allows for the definition of role hierarchies and the evaluation of user, resource, and environment attributes to make access decisions. The library decouples authorization logic from dat
Go session management for web servers (including support for Google App Engine - GAE).
Goth is a Go library that provides a consistent, provider-agnostic interface for authenticating users through dozens of third-party OAuth and OAuth2 services. It defines a pluggable provider interface and a central registry where providers are registered by name, enabling dynamic lookup and invocation during authentication flows. The library manages the multi-step OAuth authorization process by generating redirect URLs and validating callback responses, and returns a standardized user profile with common fields like email, name, and avatar URL across all supported providers. The library disti
Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication.
Go login handlers for authentication providers (OAuth1, OAuth2)
atproto is a decentralized social networking protocol implementation and a schema-driven API framework. It provides the networking and data standards required to build interoperable social networks where users control their own identity and data through a personal data server specification. The project distinguishes itself through a DID-based identity system for managing cryptographic keys and verifiable profiles, alongside a lexicon-based protocol definition that uses versioned schemas to ensure consistency across network services. It utilizes Merkle Search Trees for verifiable data storage,
Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go.
A dead simple, highly performant, highly customizable sessions middleware for go http servers.
This package provides json web token (jwt) middleware for goLang http servers