Go OAuth2 Server Library

Go OAuth2 Server Library

github.com

1

About this website

The go-oauth2 library is a popular open-source OAuth 2.0 and OpenID Connect implementation for the Go programming language, providing a comprehensive framework for building authorization servers and resource servers. Maintained by the go-oauth2 community since 2016, it has over 5,500 stars as of 2026 and is widely used in Go-based microservices, API gateways, and identity providers. Key features include: full OAuth 2.0 RFC 6749 compliance (supporting all four grant types: authorization code, implicit, password, and client credentials), OpenID Connect support (OIDC Core 1.0 specification with ID token generation and user info endpoints), token management (access tokens, refresh tokens, and authorization codes with configurable expiration and revocation), JWT support (RFC 7519 JSON Web Tokens for stateless token format with RS256, RS512, HS256, and ES256 signing algorithms), multiple response types (code, token, and id_token with PKCE RFC 7636 support for enhanced public client security), scope management (fine-grained permission control via OAuth scopes with validation and enforcement), storage backends (pluggable storage with built-in implementations for MySQL, PostgreSQL, SQLite, Redis, MongoDB, Memcached, and BoltDB with custom storage adapter support), client management (OAuth client registration, secret management, redirect URI validation, and client type differentiation between confidential and public clients), token introspection (RFC 7662 endpoint for resource servers to validate tokens), dynamic client registration (RFC 7591 support), extension grants (RFC 8963 grant type extension mechanism for custom authentication flows), middleware integration (HTTP handler middleware for token validation in resource servers), and session management (RFC 8419 with back-channel and front-channel logout).

Tags & Categories

Categories

Tags

Statistics

1
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!