「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
「新たなユーザ認証体験」のベースとなりうるものらしい。
に分離することによりユーザー認証体験の可能性が広がる。
詳細 †
用語 †
- 基本的な用語は、OAuth2/OIDCと変わらない。
- Consumption Device (CD)
CIBA Flow ユーザ(なんでもOK)だが、
基本的にConfidential Clientを経由する。
- Authentication Device (AD)
認証デバイスでスマホのプッシュ通知を使う想定。
- BA EP(バックチャネル認証エンドポイント)
AuthZ(IdP/STS)に追加される新たなエンドポイント。
フロー概要 †
フローを見ると、RedirectによるOAuthダンスではなく、OAuth 2.0 Device Flow風で、
デバイスへの通知にSMSではなく、スマホのプッシュ通知を使用している感じの仕様っポイ。
- 従来の従来のOAuthダンスは「Redirect フロー」と言うらしい。
- CIBA は「Decoupled フロー」と言うらしい(decoupled and back-channel)。
- decoupled:
Client(Webアプリとスマホ)と認証デバイス(≒スマホ)に分離。
其々のスマホを、Consumption Device (CD) 、Authentication Device (AD)と言うらしい。
- back-channel:
AuthZはback-channelで認証要求を受付け、認証結果を返す(Poll / Ping / Push)。
認証リクエスト・レスポンス †
- 認可リクエストではないことに注意。
- 認証リクエストを非同期的に受け付けてレスポンスする。
ユーザ特定 †
クライアントが認可サーバのバックチャネル認可エンドポイントにリクエストを投げる際、
- 以下のパラメタのどれか一つをヒントとしてサーバに渡す。
- login_hint_token
- id_token_hint
- login_hint
- サーバはそのヒントを元に認証対象ユーザを特定する。
認証要求の正当性 †
認証デバイスに飛んできた認証要求が正当なものかどうかを確認するためのパラメタ
- Binding Message
- かなり短い単純な文字列であることが想定されている。
- Biding MessageをADにそのまま表示する
ユーザ認証 †
認証デバイスでスマホのプッシュ通知を使う想定。
Tokenリクエスト・レスポンス †
- 認証リクエストの結果とTokenレスポンスを返す。
- 認証リクエストとの繋がりは非同期的なので、
Poll / Ping / Pushの3つの方式がある。
参考 †
OpenID †
Qiita †
TakahikoKawasaki? †
- Authlete を使って CIBA 対応の認可サーバーを作る
r-weblife †
- OIDC Client Initiated Backchannel Authentication Flow (CIBA)とは
Tags: :IT国際標準, :認証基盤, :クレームベース認証, :OAuth