Skip to content

RFC 対応一覧

本ライブラリがコード中で参照しているすべての規格を、実装パッケージとゲートになるオプション・feature と対応づけて一覧化しています。

ステータスの凡例

full 仕様を end-to-end で実装しています。
partial OP として必要な部分は実装済みです(設計上スコープ外の任意章は除きます)。
planned 対応予定。まだ着地していません。
out out-of-scope(設計上、本ライブラリの責務ではない)。
refused 意図的に拒否しています(例: alg=none)。

OIDC core / discovery

仕様ステータス場所
OpenID Connect Core 1.0fullop/internal/authorizeinternal/tokenendpointinternal/userinfo
OpenID Connect Discovery 1.0fullinternal/discovery
OpenID Connect Dynamic Client Registration 1.0partial(主要フロー、sector_identifier_uri の fetch、application_type=web / =native ごとの redirect URI 規則、JWKs / pairwise / response_type のクロスチェック、PUT の reserved field 拒否までを強制。GET /register/{id} の応答からは client_secret を意図的に除外、software_statement も非対応)internal/registrationendpoint
OpenID Connect RP-Initiated Logout 1.0fullinternal/endsession
OpenID Connect Back-Channel Logout 1.0fullinternal/backchannel
OpenID Connect Front-Channel Logout 1.0planned
OpenID Connect Session Management 1.0out(サードパーティ cookie 依存のため。Back-Channel を推奨)

OAuth 2.0 系 RFC

RFCステータス場所 / オプション
RFC 6749 OAuth 2.0 Frameworkfullop/internal/authorizeinternal/tokenendpoint
RFC 6750 Bearer Token Usagefullinternal/tokens
RFC 6819 Threat Model & Security Considerationsfull(本ライブラリの基礎にしている BCP)コードベース全体
RFC 7009 Token Revocationfullfeature.Revoke でゲート)internal/revokeendpoint
RFC 7521 Assertion Frameworkfullinternal/clientauth
RFC 7523 JWT Bearer Assertions for Client Authfullprivate_key_jwtinternal/clientauth
RFC 7591 Dynamic Client Registrationpartialfeature.DynamicRegistration で制限。software_statementinvalid_software_statement で拒否)internal/registrationendpoint
RFC 7592 DCR Managementpartial(read / update / delete を実装。PUT の省略はフィールド削除ではなく server default への reset として扱い、応答での client_secret 再掲は none → confidential への auth method 昇格、または明示的な rotation 要求のいずれかに限定)internal/registrationendpoint
RFC 7636 PKCEfullS256 のみ。plain は拒否)internal/pkce
RFC 7662 Token Introspectionfullfeature.Introspect でゲート)internal/introspectendpoint
RFC 7800 Confirmation Methods (cnf)fullinternal/dpopinternal/mtlsinternal/tokens
RFC 8252 OAuth 2.0 for Native Appsfull(loopback 制約を強制)internal/registrationendpointinternal/authorize
RFC 8414 Authorization Server Metadatafullinternal/discovery
RFC 8485 Vectors of Trustpartial(ACR/AAL マッピング経由で消費)op/aal.goop/acr.go
RFC 8628 Device Authorization Grantplannedgrant.DeviceCode 定数あり、未実装)
RFC 8705 OAuth 2.0 mTLS Client Auth & Cert-Bound Tokensfullfeature.MTLS でゲート)internal/mtls
RFC 8707 Resource Indicatorsfullinternal/tokenendpoint
RFC 8725 JWT Best Current Practicesfull(alg allow-list、typ チェック)internal/jose
RFC 9068 JWT Profile for Access Tokensfullinternal/tokens
RFC 9101 JAR (JWT-Secured Authorization Request)fullfeature.JAR でゲート)internal/jar
RFC 9126 PAR (Pushed Authorization Requests)fullfeature.PAR でゲート)internal/parendpoint
RFC 9207 OAuth 2.0 Authorization Server Issuer Identifierfullinternal/authorize(応答に iss パラメータを付与)
RFC 9396 Rich Authorization Requests (authorization_details)full(JAR マージと authorize で消費)internal/jarinternal/authorize
RFC 9449 DPoPfull(§8 nonce フロー含む。feature.DPoP でゲート)internal/dpopop.WithDPoPNonceSource
RFC 9470 OAuth 2.0 Step Up Authentication Challengefullop/rule.goRuleACR
RFC 9700 OAuth 2.0 Security Best Current Practicefullコードベース全体
RFC 9701 JWT Response for OAuth 2.0 Token Introspectionplanned

JOSE 系

RFCステータス場所
RFC 7515 JWSfullinternal/jose
RFC 7517 JWKfullinternal/jwks
RFC 7518 JWApartialRS256PS256ES256EdDSA のみ受理。HS*nonerefusedinternal/jose
RFC 7519 JWTfullinternal/jose
RFC 7638 JWK Thumbprintfull(DPoP cnf.jkt で使用)internal/dpop
RFC 8037 Edwards-curve DSA / EdDSAfull(Ed25519。Ed448 は無効)internal/jose

FAPI 系

プロファイルステータス切り替え
FAPI 2.0 Baselinefull(継続回帰検査。OFCS 参照)op.WithProfile(profile.FAPI2Baseline)
FAPI 2.0 Message Signingfull(継続回帰検査)op.WithProfile(profile.FAPI2MessageSigning)
FAPI 1.0 Advancedout—(FAPI 2.0 を使用)
FAPI-CIBAplanned(v1.x)profile.FAPICIBA(定数あり)
OpenID iGov Highplanned(v2)profile.IGovHigh(定数あり)

その他、ライブラリが参照する RFC

RFC用途
RFC 1918Back-Channel Logout SSRF 防御のプライベートネットワーク拒否リスト
RFC 3986URI パース
RFC 4122UUIDv4 生成
RFC 4514mTLS subject DN の DN 処理
RFC 4648Base64url エンコーディング
RFC 5280X.509 証明書検証
RFC 6238TOTP authenticator
RFC 6265Cookie 構文
RFC 6711Authentication Context Class Reference 値レジストリ
RFC 7230 / 7231 / 7232 / 7235HTTP/1.1(現在は RFC 9110 が後継)
RFC 7807application/problem+json(一部のエラー経路)
RFC 8176AMR 値レジストリ
RFC 8259JSON
RFC 9110HTTP セマンティクス

検証方法

この一覧は最新のソース(op/internal/)を grep して作成しています。手元で再現できます。

sh
git clone https://github.com/libraz/go-oidc-provider.git
cd go-oidc-provider
grep -rhoE 'RFC [0-9]+' op/ internal/ | sort -u

上の表は、そのコマンドの出力結果をベースにしつつ、ライブラリにとって規範的(normative)なものは強調表示し、周辺的(incidental)なものは「その他」にまとめたものです。