Awesome OpenID Connect
OpenID Connectを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
OpenID Provider(OP)
SaaSおよびOpen Source SolutionとしてのOpenID Connect Provider。
-
Auth0 - CloudでSaaSとして利用できるOpenID Connect/OAuth 2.0 Service。
-
Authelia - Single Sign-On(SSO)を提供し、情報SecurityのIdentity and Access Management(IAM)を担うOpen Sourceの認証・認可Server/Portal。
-
Authentik - 柔軟性と汎用性を重視するOpen Source Identity Provider。
-
Authlete - OAuth Authorization ServerとOpenID Connect Identity Providerを実装するためのAPI群。
-
AWS Cognito - Amazon Web ServicesのCognitoはIAM機能に加えてOpenID Connect Providerを提供。
-
Clerk - User ManagementとOpenID Connect Provider機能を持つ認証Service。
-
Cloudentity - FAPIとeKYCに対応するCloud Identity and Authorization Platform。
-
Connect2id - Enterprise向けOpenID Connect SSO/IdP Server。
-
Curity Identity Server - IdentityとAPI Access Managementを統合するAPI Security Solution。
-
Descope - Drag and Dropで利用者認証・認可Flowを構築できるOpenID Connect Provider/Identity Federation Solution。
-
Dex - LDAP、SAML、OIDCやGitHub、Google、Active Directoryなどへ「Connector」を通じて接続するProvider Portal。
-
Duende IdentityServer - ASP.NET Core OpenID Connect Provider Solution。
-
Duo - Cisco開発のOpenID Connect Provider/IdP Solution。
-
FrontEgg - OpenID Connect Provider機能を持つSaaS Platform向けCustomer Identity Solution。
-
Keycloak - User Federation、Strong Authentication、User Management、Fine-Grained Authorizationなどを提供するRed Hat支援のOpen Source Project。
-
Gluu - IAM統合済みでOpenID Connect Provider/FAPI認定のSolution。
-
Gravitee.io - ApplicationとIdentity Providerを橋渡しし、認証、認可、Account情報取得を行うOpen Source OpenID Connect/OAuth 2.0 Provider。
-
Kinde - CloudでSaaSとして利用できるOpenID Connect/OAuth 2.0 Service。
-
LoginRadius - OpenID Connect Providerとして動作できるSaaS CIAM。
-
Logto - OpenID Connectベースの認証を持ち、Customer IAM(CIAM)とWorkforce Identity Management向けに設計されたOpen Source Solution。
-
Okta - Cloud/On-PremiseのCustomer・Workforce Identity向けにFederation、SSO、API Security、Workflowを提供する拡張可能なSolution。
-
Microsoft Entra ID - SystemとApplicationへのSSO Accessを提供するMicrosoft製Software Component。
-
MITREid Connect - JavaによるOpen Source OpenID Connect Reference Implementation。
-
OpenIddict - ASP.NET Core 2.1以降に対応する.NET Open Source OpenID Connect Provider実装。
-
OneLogin - OpenID Connect Provider機能を持つEmployee/Customer IAM SaaS。
-
Ory Hydra - Open SourceでOpenID Certified™のOpenID Connect/OAuth Provider。
-
Ory Polis(旧BoxyHQ Jackson) - SAML Login FlowをOpenID ConnectへBridge/Proxyし、User Directory同期も備えるOpen Source Enterprise SSO。
-
panva/node-oidc-provider - FAPI 1.0/2.0対応、Node.jsによるOpen Source認定OpenID Connect Provider実装。
-
PingFederate - EnterpriseのCustomer、Partner、Employee向けに安全なSSO、API Security、Provisioningを提供するFederation Server。
-
Pocket ID - Passkeyで認証できるシンプルなOpenID Connect Provider。
-
SiteMinder - OpenID Connect Provider対応のBroadcom製IAM。
-
SSOJet - B2B SaaSへEnterprise SSOを統合するOpenID ConnectベースのSolution。
-
Scalekit - Hosted Enterprise SSOでApplicationのOPとなるB2B Application向けOpenID Connect Provider。
-
Transmit Security - OpenID Connectベースの統合に対応するCIAM Solution。
-
WSO2 Identity Server - 組織のCustomer Experience(CX)Applicationへ組み込みやすい現代的なIAM機能を提供するIdentity Server。
-
Zitadel - OpenID Connect Provider(OP)とSAMLv2をすぐ使えるOpen Source Identity Solution。
-
Alibaba Cloud IDaaS - ServiceとしてのAlibaba Cloud OpenID Connect Provider。
-
SecureAuth - OpenID Connect Provider機能を持つIdentity Security Platform。
-
FusionAuth - OpenID Connect Provider機能を持つOpen Source IAM Solution。
-
IBM Verify - IBMのOpenID Connect Provider/Identity as a Service(IDaaS)Solution。
-
MojoAuth - Passkey、Magic Link、OTPを使うOpenID ConnectベースのPasswordless Authentication Platform。
-
CyberArk Identity - OpenID Connect Provider機能を持つIdentity Security Solution。
-
SailPoint - OpenID Connect Provider機能を持つEnterprise Identity Security Platform。
-
SAP Customer Identity - SAPのOpenID Connect Provider/IDaaS Solution。
-
WorkOS - 組織がWorkforce、Customer、Partnerへ安全なAccessを提供できるIdentity Management Platform。
-
OpenID Foundation conformance suite - OpenID Connect、FAPI1-Advanced、FAPI2、FAPI-CIBA、OpenID for Identity Assurance(eKYC)を対象に、OpenID Foundation認定を得るためのConformance Test Suite。
Relying Party(RP)Library
Client ApplicationへOpenID Connectを実装するRelying Party(RP)Library。
C
- liboauth2 - CベースのOpenID Connect Provider/Relying Partyを構築する汎用Library。
- mod_auth_openidc - Apache Server 2.x向け認定OpenID Connect Relying Party実装。
- ngx_oauth2_module - Nginx向け認定OpenID Connect Relying Party実装。
C#
- IdentityModel.OidcClient - Native Mobile/Desktop Application向けC#/.NET認定OpenID Connect RP Client Library。
Dart
- openid_client - Flutter、Web、CLIで使えるDart向けOpenID Connect RP Client Library。
Erlang
- oidcc - FAPI対応のErlang/Elixir認定OpenID Connect RP Client Library。
Golang
- coreos/go-oidc - CoreOS開発のGo OpenID Connect Client。
- golang.org/x/oauth2 - OpenID Connect対応のOAuth 2.0仕様公式Golang Client実装。
- zitadel/oidc - OpenID Foundation認定OpenID Connect Client/Server Library。
Java
- com.google.oauth-client/google-oauth-client - Android対応、Google製OAuth 2.0 RP Java Library。
- com.nimbusds/oauth2-oidc-sdk - OpenID Connect、FAPI、Federation、eKYC/Identity Assurance拡張を持つconnect2id製Java SDK。
- Spring Security - OpenID Connect/OAuth 2.0対応でSpring Applicationを保護するJava Framework。
JavaScript
- openid-client - Node.js向けOpenID Certified™ RP(OpenID Connect/OAuth 2.0 Client)実装。
- oauth4webapi - JavaScript Runtime向けOAuth 2/OpenID Connect Library。
- oidc-client-ts - Browser Application向けTypeScript OpenID/OAuth 2.0 Client。
特定Frameworkとの統合に焦点を当てるLibrary層
- Better Auth - SPA/Server-Side Application向けFramework非依存TypeScript認証Library。
- Nuxt 2向けnuxt-auth - Nuxt.js 2向けZero-Boilerplate認証。
- Nuxt 3向けnuxt-auth - NextAuth.jsをWrapするNuxt 3 User認証・Session Library。
- angular-auth-oidc-client - OAuth 2.0/OpenID Connect FlowとAngular Schematicsを備える認定Angular Library。
- angular-oauth2-oidc - AngularへOAuth 2.0/OpenID Connect(OIDC)対応を追加するLibrary。
OCaml
- ocaml-oidc - OCamlによる認定OpenID Connect RP実装。
PHP
- Laravel Socialite - OpenID Connect対応、OAuth 1/2 LibraryのLaravel Wrapper。
- thephpleague/oauth2-client - PHP向けOAuth 2.0 Service Provider統合。
- Symfony Security - OpenID Connect対応PHP Security Component。
Python
- mozilla-django-oidc - Mozillaが保守するDjango OpenID Connect RP Library。
Ruby
- openid_connect - Ruby OpenID Connect RP/Provider(OP)Library。
- omniauth_openid_connect - Ruby OmniAuth Library向けOpenID Connect Strategy。
Rust
- openidconnect - Rust向けOpenID Connect RP Library。
Relying Party(RP)Software Plugin
- MiniOrange OAuth SSO - MiniOrangeが開発・保守するWordPress OAuth/OpenID Connect Plugin。
資料
OpenID Connectの学習資料を見つける場所です。
Flow/Grant Type仕様
- authorization_code - Web AppなどPublic Clientの認可に適するOAuth 2.0 Authorization Code Grant。
- refresh_token - Refresh Tokenを短命Access Token、場合によっては新しいRefresh Tokenと交換するOAuth 2.0 Grant。
- client_credentials - 利用者操作なしでTokenを取得し、Machine-to-Machine通信に適するOAuth 2.0 Grant。
- implicit - 非推奨で、今後使用すべきでないOAuth 2.0 Implicit Grant。
- password - 現在は使用を推奨しないOAuth 2.0 Resource Owner Password Credentials Grant。
- urn:ietf:params:oauth:grant-type:device_code - Smart TVなどBrowser外で利用者と対話するOAuth 2.0 Device Authorization Grant。
- urn:ietf:params:oauth:grant-type:jwt-bearer - 信頼するProvider発行の別JWTを使いClientがAccess Tokenを得るOAuth 2.0向けJWT Profile。
- urn:ietf:params:oauth:grant-type:saml2-bearer - 信頼するProvider発行のSAML Assertionを使いClientがAccess Tokenを得るOAuth 2.0向けSAML 2.0 Profile。
- urn:ietf:params:oauth:grant-type:token-exchange - 別TokenからTokenを取得し、Actor Claimも追加できるOAuth 2.0 Token Exchange Grant。
- Proof Key for Code Exchange(PKCE)Extension - Code Interception AttackへのSecurity層をAuthorization Code Flowへ追加。
仕様
公開済み
- CBOR Web Token(CWT) - OpenID Connect/OAuth 2.0のTokenで使うCBOR形式。
- OpenID Connect Core 1.0 - OAuth 2.0上の認証とEnd-User情報を伝えるClaimなど中核機能を定義し、Security/Privacy上の考慮事項も説明。
- The OAuth 2.0 Authorization Framework - OpenID Connectの基盤となるOAuth 2.0 Protocol。
- JSON Web Token(JWT) - OAuth 2.0/OpenID Connect仕様内の各種Tokenで使うJWT仕様。
- OAuth 2.0 Access Token向けJWT Profile - OAuth 2.0におけるJWT形式・検証仕様。
- JSON Web Key(JWK) - OPが提供する暗号鍵を表すJSON Data Structure。
- JSON Web Encryption(JWE) - JSONベース構造で暗号化Contentを表すJWE仕様。
- JSON Web Signature(JWS) - Digital Signatureで保護したContentを表すJWS仕様。
- OAuth 2.0 Threat Model and Security Considerations - OAuth 2.0/OpenID Connectの既知の脅威と対策。
- OAuth 2.0 Authentication Method Reference Values - AMR Token Claimの認証方式値一覧。
- OAuth 2.0 Authorization Framework: Bearer Token Usage - OAuth 2.0 Protected ResourceへAccessするHTTP RequestでBearer Tokenを使う方法。
- OAuth 2.0 for Native Apps - Native AppでOAuthを使うSecurity/Usability Best Practice。
- OAuth 2.0 Pushed Authorization Requests - Clientが直接RequestでOAuth 2.0 Authorization Request PayloadをAuthorization Serverへ送るPAR。
- OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens - Client CertificateベースのMutual TLS(mTLS)を使うOAuth 2.0強化Security Optionを標準化。
- OAuth 2.0 JWT-Secured Authorization Request(JAR) - Request ParameterをJWTで送り、JWS署名・JWE暗号化により完全性、送信元認証、機密性を得ます。
- OpenID Connect Discovery 1.0 - RPがEnd-UserのOPを発見し、対話に必要な情報を得る仕組み。
- OpenID Connect Front-Channel Logout - OPとLogout対象RP間でUser Agentを介すFront-Channel Logout。RP Page上のOP iframeは不要。
- OpenID Connect Back-Channel Logout - OPとLogout対象RPの直接Back-Channel通信を使うLogout。
- OpenID Connect RP-Initiated Logout - End-UserのUser AgentをOP Logout EndpointへRedirectし、RPからLogoutを要求する方法。
- OAuth 2.0 Authorization Server Metadata - OAuth 2.0 ClientがAuthorization Serverとの対話に必要な情報を取得するMetadata形式。
- OAuth 2.0 Token Revocation - 取得済みRefresh/Access Tokenが不要になったとClientからAuthorization Serverへ通知するEndpoint。
- OAuth 2.0 Dynamic Client Registration Protocol - OAuth 2.0 RPがServer Providerへ動的登録する方法。
- OAuth 2.0 Demonstrating Proof of Possession(DPoP) - OAuth 2.0 Clientの秘密鍵所持を証明。
- OpenID Connect Dynamic Client Registration - Application LevelのProof-of-PossessionでOAuth 2.0 TokenをSender-Constrainし、Token Replay Attackを検知する仕組み。
- OAuth 2.0 Token Introspection - Protected ResourceがAuthorization Serverへ問い合わせ、TokenのActive状態とMetadataを判断する方法。
- OAuth 2.0 Rich Authorization Requests(RAR) - JSONの表現力で細粒度認可要件を指定するauthorization_details Parameterを追加。
- Financial-grade API Security Profile 1.0 - Part 1: Baseline - Financial-grade APIで中程度の固有Riskを持つAPI保護に適するOAuth Baseline Security Profile。
- Financial-grade API Security Profile 1.0 - Part 2: Advanced - 高い固有Riskを持つAPI保護に適するOAuth Advanced Security Profile。
- JWT Secured Authorization Response Mode for OAuth 2.0(JARM) - 送信保護用Claimを加え、OAuth Authorization Response ParameterをJWTへEncodingするMode。
- Initiating User Registration via OpenID Connect - OpenID ConnectとCreate PromptでUser Registrationを開始する仕様。
- OpenID Connect Session Management - OpenID Connect Session Management仕様。
- OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0 - Client-Initiated Backchannel Authentication(CIBA)Flow仕様。
- OpenID Provider Authentication Policy Extension 1.0 - Multi-Factor Authenticationなど特定Policyの適用をRPからOPへ要求する仕組み。
- JWT Response for OAuth Token Introspection - OAuth 2.0 Token Introspection向けの署名済み追加JWT保護Response。
- OAuth 2.0 Protected Resource Metadata - Client/Authorization ServerがProtected Resourceとの対話に必要な情報を得るMetadata形式。
- OAuth 2.0 Security Best Current Practice - OAuth 2.0/OpenID Connect利用時のSecurity Best Practice。
- OpenID Connect Extended Authentication Profile(EAP)ACR Values 1.0 - 特定の認証方式・保証Levelを要求できるEAP ACR Value仕様。
- Resource Indicators for OAuth 2.0 - OAuth 2.0 ClientがAccess予定のResource Serverを示す仕組み。
- OAuth 2.0 Authorization Server Issuer Identification - Authorization Responseを発行したServerを識別するiss Parameterを定義し、Mix-Up Attackを軽減。
- FAPI 2.0 Security Profile - 高い固有RiskのFinancial-grade API保護に適する新しいFAPI Security Profile。
- FAPI 2.0 Attacker Model - Financial-grade APIのSecurity Goal、Attacker Model、Security Mechanism。
- FAPI 2.0 Message Signing - FAPI 2.0 Security Profileベースの特定Request/Responseを署名・検証するAPI Security Profile。
Draft
- OAuth 2.0 Dynamic Client Registration Management Protocol - OAuth 2.0 Dynamic Client Registrationを管理するEndpoint。
- OpenID Connect Standard Claims Registration for CBOR Web Tokens - OpenID Connect Standard ClaimをCBOR Web Token(CWT)で表す方法。
- OpenID Connect Federation 1.0 - 2組織間のBilateral Federationを構築するDraft仕様。
- OpenID AuthZEN - Service統合を容易にする、Authorization ServiceへのAccess Decision要求標準API。
- Financial-grade API: Client Initiated Backchannel Authentication Profile - Client Initiated Backchannel Authentication(CIBA)の金融Service Profile仕様。
- OAuth 2.0 for Browser-Based Apps - Browser-Based AppでOAuthを使うSecurity/Usability Best Practice。
- Selective Disclosure for JWTs(SD-JWT) - JWT要素を選択的開示する仕様。
- OAuth 2.1 - OAuth 2.0仕様を単一文書へ統合し、非推奨機能を削除してBest Practiceを明確化。
- OAuth 2.0 App2App Browserless Flow - Web Browser不要で、App2App Patternによる認証を行うApp間Native Navigation Protocol。
- OAuth 2.0 Attestation-Based Client Authentication - Key-Bound AttestationでPublic Clientを認証できるOAuth 2.0拡張。
- OpenID Shared Signals Framework Specification 1.0 - 協力するPeer間でSignal/Eventを共有し、RISCやCAEPなどを可能にするSSF。
- Cross-App Access(XAA)、旧称「Identity Assertion Authorization Grant」 - 標準化された細粒度OAuth Permissionと利用者同意により、AI Agent/Appが複数Serviceへ安全にAccess・操作できます。
- OAuth Identity and Authorization Chaining Across Domains - OAuth Token ExchangeとJWT Assertionで、複数Service/Trust DomainにわたりUser Identity、Authorization Context、Call Chain履歴を保持。
- OpenID Connect for Agents(OIDC-A)1.0 - OAuth Ecosystem内でAI Agent Identity、Attestation、Delegation Chain、Fine-Grained Authorizationを支援する研究提案(標準・IETF Draftではありません)。
Webサイト
- OpenID - OpenID Connect公式Webサイト。
- OAuth - Aaron Pareckiが管理し、Protocol資料を列挙するOAuth Webサイト。
- ByteByteGo - OAuth 2.0を視覚的で平易な言葉で説明。
- Aaron Parecki - OAuth WG MemberによるOAuth 2.0ブログ記事。
- Alex Bilbie - OAuth 2.0に関するブログ記事。
- CerberAuth - OpenID Connect/OAuth 2.0を扱うブログ。
- Nacho - Applicationに応じたGrant Type選択を支援するOAuth 2.0 Client作成Helper。
- Curity Resources - Curity SolutionによるOpenID Connect資料記事。
- Okta Blog - OAuth 2.0/OpenID Connectに関するOkta Blog。
- Medium OAuth 2.0 - OAuth 2.0利用の学び、Pattern、Ideaを扱うMedium Blog。
- Mike Jones: Self-Issued - OAuth 2.0/OpenID Connectに関するMike Jonesのブログ。
- IAMDevBox - OAuth 2.0/2.1、OIDC、SAML、Keycloak、ForgeRock、PingIdentityの実践Tutorial/Troubleshooting Guideを扱う開発者ブログ。
テーマ別記事
- Model Context Protocol向けOAuth - OAuthの仕組みとMCP Serverでの適切な利用を説明するAaron Pareckiの記事。
- OAuthの一般的脆弱性 - OAuth 2.0の一般的脆弱性と軽減策を説明するPortSwiggerの記事。
- MCP OAuth 2.1認証:AI AgentがToolへ安全に接続する仕組み - MCPが必須PKCE、RFC 8707 Audience Binding、Zero-Configuration Discoveryを用いてAI Agentを認証する方法。
- GitHub Actions OIDC – Non-Human IdentityとSecretless Authentication - GitHub ActionsでStatic SecretからOIDC Identityへ移行する2部構成ガイド。API保護の実践Lab付き。
Playground
- OAuth.com Playground - Authorization FlowとAccess Token取得手順を試すOAuth 2.0/OpenID Connect Playground。
- SecureAuthCorp/oauth2c - 各種FlowをTest・探索するOAuth 2.0/OpenID Connect CLI Client。
- Curity Playground - OAuth/OpenID Connect Flowを探索・TestするTool。
- MojoAuth: Passkey Playground - OpenID Connect Requestを構築・可視化する対話型Tool。Parameter設定、Request URL生成、JWT Decodeが可能。
Test Utility
- OAuth Mock Server - URL置換だけで大手Providerを模擬する無料Open Source OAuth Mock Server。E2E Testに有用。
書籍
- 2012 - Ryan Boyd著 Getting Started with OAuth 2.0
- 2018 - Aaron Parecki著 OAuth 2.0 Simplified
- 2020 - Aaron Parecki著 The Little Book of OAuth 2.0 RFCs
- 2021 - Stian Thorgersen/Pedro Igor Silva著 Keycloak - Identity and Access Management for Modern Applications: Harness the power of Keycloak, OpenID Connect, and OAuth 2.0 protocols to secure applications
- 2022 - Yvonne Wilson著 Solving Identity Management in Modern Applications: Demystifying OAuth 2, OpenID Connect, and SAML 2
コントリビューション
コントリビューションをいつでも歓迎します。最初にコントリビューションガイドラインをご覧ください。