{"repo":"reddec/oidc-login","free":true,"listed":false,"github":"https://github.com/reddec/oidc-login","clone":"git clone https://github.com/reddec/oidc-login.git","description":"simple and secure way to authorize your application with the OpenID Connect","language":"Go","stars":34,"topics":["golang","oauth2","oidc"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"OIDC login Welcome to OIDC Login, a simple and secure way to authorize your application with the OpenID Connect (OIDC) protocol. OIDC is supported by most major platforms, including Okta, Google, Auth0, Keycloak, Authentik, and others. OpenID Connect (OIDC%20is%20an,obtain%20basic%20user%20profile%20information)) is a simple identity layer on top of the OAuth 2.0 protocol that allows clients to verify the identity of the end-user based on the authentication performed by an authorization server. OIDC provides a standard way for clients to authenticate users, and obtain basic user profile information. The library supports both Client Credentials (M2M) and Authorization Code flow (UI). Optionally, it supports encryption at rest for the session storage. Motivation While there are several alternatives available, such as goth, authboss, and auth, they all have similar flaws, including global state, being very opinionated, and having so-so support for OIDC. At OIDC Login, we follow the UNIX-like idea of doing one thing, but doing it well. Our code is focused on being auditable, maintainable, and flexible as much as possible. Usage Checkout Go docs and examples. Quick start Wrap an entire mux (or handler) with Secure to protect all routes at once: [!NOTE] Register this redirect URI at your IdP: https:// /oauth2/callback (or /callback if you set a custom Config.Prefix ). The public server URL comes from Config.ServerURL , or is auto-detected from the request if unset — see IDP configu","default_branch":null,"files":null,"tree":[],"storefront":"/r/reddec","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/reddec/oidc-login/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}