Skip to content

用語集 ​

ストレージ、トークン、クライアント登録のページをまたいで使われる用語です。各項目は短くまとめてあります。詳細はリンク先を参照してください。

ストレージ ​

用語意味
substore(サブストア)store.Store の下にある、1 種類のレコードを受け持つ小さなインタフェースです。クライアント、認可コード、セッションなどがそれぞれ 1 つのサブストアです。バックエンドがサブストアを実装し、どれが非 nil である必要があるかは設定から op.New が判断します。ストアバックエンドを自前実装する を参照してください。
atomic-routing cluster1 つのトランザクションでコミットする必要があるサブストアの集まりです(認可コード、リフレッシュトークン、grant、PAR レコード、アクセストークンのレジストリ、grant の失効)。同じバックエンドに置かなければならず、composite store はこれを分割する構成を拒否します。Hot/Cold 分離 を参照してください。
grant1 人の subject が 1 つのクライアントに与えた認可を表すレコードです。同じ組み合わせの認可のたびに書き換えられ、トークンはこの grant の下で発行されるので、grant を失効させるとそれらも失効します。認可ごとの状態とリフレッシュ連鎖 を参照してください。
grant tombstonegrant 単位の小さな失効レコードです。既定の戦略では JWT アクセストークンが grant ID を持ち、検証時にトークンごとの行ではなくこの tombstone を参照します。JWT アクセストークン失効戦略 を参照してください。
JTIjti クレーム(RFC 7519 §4.1.7)です。JWT 1 通を一意に識別します。時刻ずれとリプレイ猶予 を参照してください。
consumed JTIJWT の jti を受理済みと記録したマーカーです。JWT 自身の有効期限まで保持され、リプレイを拒否します。DPoP proof のリプレイ検知が使います。時刻ずれとリプレイ猶予 を参照してください。
lockout storeパスワードと第 2 要素のステップが共有する、subject ごとの失敗カウンタを永続化する store.AuthnLockoutStore です。失敗を数えるログインフローがあるのに解決できないと、op.New は起動を拒否します。認証 / LoginFlow を参照してください。

サインイン ​

用語意味
interactionユーザがサインインや同意をしている間の、1 件の /authorize リクエストに対するサーバ側のレコードです。interaction driver が現在のプロンプトを描画します。SPA / 対話画面のカスタマイズ を参照してください。
login flowop.WithLoginFlow に渡す認証チェーンです。ユーザを確定する primary step、任意の第二要素、特定のクライアント・scope・リスクに step を追加するルールで構成します。ブラウザ認証を組み立てる唯一の手段です。認証とログインフロー を参照してください。
UI モードログイン・同意・アカウント選択ページの描画方法で、op.WithUI の 1 回の呼び出しで選びます。op.HTMLUI(組み込み側のテンプレート)、op.SPAUI(OP が SPA をマウント)、op.DriverUI(独自の interaction.Driver)のいずれかです。SPA / 対話画面のカスタマイズ を参照してください。
chooser group1 つのブラウザがサインインしているセッションの集まりです。OP が保持し、ユーザはアカウントの切り替えや追加ができます。マルチアカウント選択 を参照してください。

リクエストとトークン ​

用語意味
PAR / request_uriPushed Authorization Requests(RFC 9126)です。クライアントが認可リクエストを /par に送り、代わりに /authorize へ渡す短命で 1 回限りの request_uri を受け取ります。認可コード + PKCE を参照してください。
送信者制約付きトークンクライアントが鍵を保有していることを証明しなければ使えない、アクセストークンです。漏れても単独では使えません。結び付けには DPoP か mTLS を使います。送信者制約 — DPoP と mTLS の選び方 を参照してください。
DPoPDemonstrating Proof-of-Possession(RFC 9449)です。クライアントがリクエストごとに自分の鍵で proof に署名し、トークンはその鍵のサムプリントに結び付きます。DPoP を参照してください。
ACR / AALacr はログインが満たした認証コンテキストの名前です。組み込みポリシーはこれを保証レベル(op.AAL1 から op.AAL3、正規 URI は op.AAL2.ACRURI() など)に対応づけます。独自の値は op.WithACRPolicy(op.ACRLevels{...}) で宣言します。MFA / ステップアップ を参照してください。
first-party clientop.WithFirstPartyClients に列挙した、静的または管理者が管理するクライアントです。同意画面をスキップしますが、grant は consent.granted.first_party として記録されます。同意 を参照してください。
DPoP nonce sourceサーバが供給する DPoP-Nonce(RFC 9449 §8)を発行する op.WithDPoPNonceSource の値です。複数レプリカでは 1 つの source を共有します。DPoP を参照してください。
profile(プロファイル)WithProfile に渡す、名前の付いたセキュリティ姿勢です。profile.OAuth21(既定)、profile.OIDCCore、profile.FAPI2Baseline があります。必要な feature を有効にし、禁じられた設定を op.New が拒否します。セキュリティプロファイルの宣言 を参照してください。
ネットワーク到達性(プライベートネットワークのオプション)WithAllowPrivateNetwork オプションです。既定では、OP は RP に代わって loopback・link-local・プライベートアドレスから取得したり、そこへ配送したりしません(SSRF の境界)。各 op.Outbound* target は、取得処理ごとにこの制限を外します。プライベートネットワーク上に RP がある構成向けで、本番でも正当に使え、op.New が起動時にログへ出します。mTLS / プロキシ / ネットワーク を参照してください。

動的クライアント登録 ​

用語意味
IAT(initial access token)/register でのクライアント作成を許可するために、運用者が発行するトークンです(RFC 7591)。使用回数の上限と有効期限があります。動的クライアント登録 を参照してください。
RAT(registration access token)クライアントの登録時に返され、その 1 件の登録を読み取り、更新、削除する権限を与えるトークンです(RFC 7592)。動的クライアント登録 を参照してください。