A Go library for implementing OAuth2 authorization and token servers with support for PKCE.
OSIN is a Go library for building OAuth2 authorization servers that comply with RFC 6749. It provides the core components needed to implement OAuth2 endpoints and grant types, including support for PKCE to secure public clients. Developers use it to create custom authentication services for their applications.
Go developers building secure authentication systems, API providers needing OAuth2 server capabilities, and teams implementing custom identity solutions.
It offers a lightweight, standards-compliant foundation without imposing specific storage or user interface choices, allowing full customization while handling OAuth2 protocol complexities.
Golang OAuth2 server library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements OAuth2 RFC 6749 and PKCE RFC 7636, ensuring secure and specification-compliant authorization flows as highlighted in the README.
Provides a storage interface that allows integration with various backends like PostgreSQL, MongoDB, and Redis, supported by community-contributed libraries listed in the README.
Offers a lightweight base that handles OAuth2 protocol details while allowing full control over authentication logic and storage, aligning with its philosophy of minimalism.
Includes support for Proof Key for Code Exchange to secure public client authorization flows, addressing modern security needs as specified in RFC 7636.
Lacks pre-built login or consent pages, requiring developers to implement these UI components from scratch, which adds to development overhead.
While flexible, the storage interface must be implemented or integrated via third-party libraries, and some community implementations may be unmaintained, increasing setup complexity.
Historical updates, like the 2014-06-25 changes, introduced breaking interface modifications, which can complicate upgrades and require code adjustments.