On this page

Awesome OpenID Connect

A curated collection of resources and projects focused on OpenID Connect.

Contents


OpenID Providers (OP)

OpenID Connect Providers as SaaS and Open Source solutions.

  • Auth0 - OpenID Connect and OAuth 2.0 service that is available on the cloud as a SaaS.

  • Authelia - Open Source authentication, authorization server and portal fulfilling the identity and access management (IAM) role of information security in providing single sign-on (SSO).

  • Authentik - Open Source Identity Provider focused on flexibility and versatility.

  • Authlete - Set of APIs for developers to implement OAuth authorization servers and OpenID Connect identity providers.

  • AWS Cognito - Cognito by Amazon Web Services has OpenID Connect provider in addition to IAM capabilities.

  • Clerk - Authentication with user management and OpenID Connect provider capabilities.

  • Cloudentity - Cloud Identity and Authorization Platform with FAPI and eKYC support.

  • Connect2id - OpenID Connect SSO and IdP server for enterprise.

  • Curity Identity Server - API Security solution that brings identity and API access management together.

  • Descope - OpenID Connect Provider and Identity Federation solution that provides drag and drop user authentication and authorization flows.

  • Dex - Provider that acts as a portal to other identity providers through “connectors.” like LDAP, SAML, OIDC or established identity providers like GitHub, Google, and Active Directory.

  • Duende IdentityServer - ASP.NET Core OpenID Connect Provider solution.

  • Duo - OpenID Connect Provider and IdP solution developed by Cisco.

  • FrontEgg - A Customer Identity solution for SaaS platform with OpenID Connect Provider capability.

  • Keycloak - Open Source project powered by RedHat which provides user federation, strong authentication, user management, fine-grained authorization, and more.

  • Gluu - OpenID Connect Provider and FAPI certified solution and integrated with IAM.

  • Gravitee.io - Open Source OpenID Connect/OAuth 2.0 provider aims to be a bridge between applications and identity providers to authenticate, authorize and getting information about user accounts.

  • Kinde - OpenID Connect and OAuth 2.0 service that is available on the cloud as a SaaS.

  • LoginRadius - A SaaS CIAM that can act as an OpenID Connect provider.

  • Logto - An Open-source solution designed for Customer Identity and Access Management (CIAM) and Workforce Identity Management with OpenID Connect based authentication.

  • Okta - Extensible solution that enables both customer and workforce identity with federation, single sign-on, API security and workflows for both cloud and on-prem solutions.

  • Microsoft Entra ID - Software component developed by Microsoft providing single sign-on access to systems and applications.

  • MITREid Connect - Open Source OpenID Connect reference implementation in Java.

  • OpenIddict - .NET Open Source OpenID Connect Provider implementation with ASP.NET Core 2.1 (and higher) applications support.

  • OneLogin - SaaS Employee and Customer IAM solution with OpenID Connect Provider capabilities.

  • Ory Hydra - Open Source OpenID Certified™ OpenID Connect and OAuth Provider.

  • Ory Polis (formerly BoxyHQ Jackson) - Open Source Enterprise SSO bridges or proxies a SAML login flow to OpenID Connect with also user directory sync capabilities.

  • panva/node-oidc-provider - Open Source and certified OpenID Connect provider implementation in Node.js with FAPI 1.0 and FAPI 2.0 support.

  • PingFederate - Federation server that provides secure single sign-on, API security and provisioning for enterprise customers, partners, and employees.

  • Pocket ID - A simple OpenID Connect Provider that allows users to authenticate with their passkeys.

  • SiteMinder - An IAM provided by Broadcom with OpenID Connect Provider support.

  • SSOJet - A OpenID Connect based solution that seamlessly integrates enterprise SSO into your B2B SaaS.

  • Scalekit - OpenID Connect provider for B2B applications, acting as the application’s OpenID Provider (OP) for hosted enterprise SSO.

  • Transmit Security - A CIAM solution that supports an OpenID Connect-based integration.

  • WSO2 Identity Server - Identity Server which provides modern identity and access management capabilities that can be easily built into organization’s customer experience (CX) applications.

  • Zitadel - Open Source Identity solution with OpenID Connect provider (OP) and SAMLv2 ready to use.

  • Alibaba Cloud IDaaS - Alibaba Cloud OpenID Connect Provider as a service.

  • SecureAuth - Identity security platform that provides OpenID Connect Provider capabilities.

  • FusionAuth - Open Source Identity and Access Management (IAM) solution with OpenID Connect Provider capabilities.

  • IBM Verify - OpenID Connect Provider and Identity as a Service (IDaaS) solution by IBM.

  • MojoAuth - An OpenID Connect-based passwordless authentication platform using passkeys, magic links, and OTPs.

  • CyberArk Identity - Identity security solution that provides OpenID Connect Provider capabilities.

  • SailPoint - Enterprise identity security platform that provides OpenID Connect Provider capabilities.

  • SAP Customer Identity - SAP’s OpenID Connect Provider and Identity as a Service (IDaaS) solution.

  • WorkOS - An identity management platform that enables organizations to provide secure access to their workforce, customers, and partners.

  • OpenID Foundation conformance suite - Test conformance suite to obtains OpenID Foundation certification which covers OpenID Connect, FAPI1-Advanced, FAPI2, FAPI-CIBA and OpenID for Identity Assurance (ekyc).

Relying Parties (RP) Libraries

Relying Parties (RP) Libraries for implementing OpenID Connect on a client application.

C

  • liboauth2 - Generic library to build C-based OpenID Connect Provider and Relying Party.
  • mod_auth_openidc - OpenID Connect Relying Party certified implementation for Apache Server 2.x.
  • ngx_oauth2_module - OpenID Connect Relying Party certified implementation for Nginx.

C#

  • IdentityModel.OidcClient - C# / .NET OpenID Connect relying party client certified library for native mobile/desktop applications.

Dart

  • openid_client - OpenID Connect Relying Party client library for Dart in Flutter, Web and Command Line.

Erlang

  • oidcc - Certified OpenID Connect Relying Party client library for Erlang and Elixir with FAPI support.

Golang

  • coreos/go-oidc - Go OpenID Connect client developed by CoreOS.
  • golang.org/x/oauth2 - Official Golang client implementation for OAuth 2.0 spec with OpenID Connect support.
  • zitadel/oidc - OpenID Connect client and server library certified by the OpenID Foundation.

Java

JavaScript

  • openid-client - OpenID Certified™ Relying Party (OpenID Connect/OAuth 2.0 Client) implementation for Node.js.
  • oauth4webapi - OAuth 2/OpenID Connect library for JavaScript Runtimes.
  • oidc-client-ts - TypeScript OpenID Client and OAuth 2.0 client for browser-based applications.

Libraries layer focused on specific framework integration

  • Better Auth - TypeScript Framework agnostic authentication library for SPAs and server-side applications.
  • nuxt-auth for Nuxt 2 - Zero-boilerplate authentication support for Nuxt.js 2.
  • nuxt-auth for Nuxt3 - Nuxt 3 user authentication and sessions library. nuxt-auth wraps NextAuth.js.
  • angular-auth-oidc-client - Angular certified library with OAuth 2.0 and OpenID Connect flows, and Angular schematics.
  • angular-oauth2-oidc - Library which bring support for OAuth 2.0 and OpenID Connect (OIDC) in Angular.

OCaml

  • ocaml-oidc - Certified OpenID Connect Relying Party implementation in OCaml.

PHP

Python

Ruby

Rust

  • openidconnect - OpenID Connect Relying party (RP) library for Rust.

Relying Parties (RP) Software Plugins

  • MiniOrange OAuth SSO - Wordpress OAuth and OpenID Connect plugin developed and actively maintained by MiniOrange.

Resources

Where to discover learning resources about OpenID Connect.

Flows / Grant Types Specifications

  • authorization_code - OAuth 2.0 Authorization Code Grant Type which fit well public client authorization like web apps.
  • refresh_token - OAuth 2.0 Refresh Token Grant Type used to exchange a refresh token against a short life access token and sometime a new refresh token as well.
  • client_credentials - OAuth 2.0 Client Credentials Grant providing a way to get token without user interaction which fit well machine to machine communications.
  • implicit - OAuth 2.0 Implicit Grant Type which is deprecated and should not be used anymore.
  • password - OAuth 2.0 Resource Owner Password Credentials Grant Type which is not recommended to use anymore.
  • urn:ietf:params:oauth:grant-type:device_code - OAuth 2.0 Device Authorization Grant focused on interaction with user outside of a browser context like smart TVs.
  • urn:ietf:params:oauth:grant-type:jwt-bearer - JSON Web Token (JWT) Profile for OAuth 2.0 used to authorize a client to get an access token with another JWT issued by a trusted provider.
  • urn:ietf:params:oauth:grant-type:saml2-bearer - Security Assertion Markup Language (SAML) 2.0 Profile for OAuth 2.0 used to authorize a client to get an access token with a SAML assertion issued by a trusted provider.
  • urn:ietf:params:oauth:grant-type:token-exchange - OAuth 2.0 Token Exchange is a Grant Type which provides a way to get tokens from another token and give the ability to add an actor claim.
  • Proof Key for Code Exchange (PKCE) Extension - Extension of the Authorization Code flow adding security layer against code interception attack.

Specifications

Published

Draft

Websites

  • OpenID - The OpenID Connect official website.
  • OAuth - The OAuth website maintained by Aaron Parecki which list different resources about the protocol.
  • ByteByteGo - Oauth 2.0 explains using visual and simple terms.
  • Aaron Parecki - OAuth WG Member blog posts about OAuth 2.0.
  • Alex Bilbie - Blog posts about OAuth 2.0 topic.
  • CerberAuth - A blog talking about OpenID Connect and OAuth 2.0.
  • Nacho - An OAuth 2.0 client creation helper helping to choose the right grant type depending on the application.
  • Curity Resources - Curity solution resources articles about OpenID Connect.
  • Okta Blog - Okta vendor blog posts about OAuth 2.0 and OpenID Connect.
  • Medium OAuth 2.0 - Medium blog with learnings, patterns and ideas around use of OAuth 2.0.
  • Mike Jones: Self-Issued - Mike Jones blog posts about OAuth 2.0 and OpenID Connect.
  • IAMDevBox - Developer blog covering OAuth 2.0/2.1, OIDC, SAML, Keycloak, ForgeRock, and PingIdentity with hands-on tutorials and troubleshooting guides.

Thematic Articles

Playgrounds

  • OAuth.com Playground - OAuth 2.0 / OpenID Connect Playground with authorization flows and step by step of the process of obtaining an access token.
  • SecureAuthCorp/oauth2c - OAuth 2.0 and OpenID Connect command line client for testing and exploring different flows.
  • Curity Playground - Tools for exploring and testing OAuth and OpenID Connect flows.
  • MojoAuth: Passkey Playground - Build and visualize OpenID Connect requests with this interactive tool. Configure parameters, generate request URLs, and decode JWT tokens.

Testing Utilities

  • OAuth Mock Server - A free and open-source OAuth mock server that simulates the biggest providers just by replacing the URL. Useful for E2E testing.

Books

Contributing

Your contributions are always welcome! Please take a look at the contribution guidelines first.