全体の構成とリクエスト・レスポンスの流れ
20
User Agent
Client
Resource
Server
Authorization
Server
Authlete API
EndUser API Client API Server Authlete
Resource
Owner
/auth/authorizationAPI
/auth/authorization/issue API
/auth/token API
/auth/introspectionAPI4. TokenResponse
Including Certificate-
bound AccessToken
5. API Request With
Certificate-bound Access
Token And Client
Certificate(Mutual TLS)
0. Start
1’. User Authentication
And Consent
1. Authorization
Request
Using “Request
Object”
1
4
5
2
2. Authorization
Response Including
Authorization Code In
Fragment
3. Token
RequestWith
Client Certificate
(Mutual TLS)
3
認可サーバー
(+ リソースサーバー)の
立場になり
クライアント(+ ユーザー
エージェント)から受け付けた
(と仮定する)リクエストを
Authlete API を活用して
処理します
21.
21
• (Request fromClient to AS via UA)
– FAPI準拠の認可リクエストを送信
• Request from AS to Authlete
– リクエストパラメーターをAuthleteに
そのまま転送
• Response from Authlete to AS
– リクエストパラメーターを検証
– 「チケット」(検証成功時)と、認可
サーバーがクライアントに返却する
「レスポンスの内容」とその伝達手段
を回答
• (Response from AS to Client via UA)
– チケットをユーザーセッションに保存
– 「レスポンスの内容」をクライアント
に返却
1. 認可リクエスト
User Agent
Client
Resource
Server
Authorization
Server
Authlete API
End User API Client API Server Authlete
Resource
Owner
Authorization
Request
/auth/authorization API
22.
22
• (Interaction betweenClient and AS)
– ユーザー認証・アクセス同意
• Request from AS to Authlete
– 「チケット」と「ユーザー識別子」を
送信
• Response from Authlete to AS
– 認可サーバーがクライアントに返却す
る「レスポンスの内容」とその伝達手
段を回答
• (Response from AS to Client)
– チケットをユーザーセッションに保存
– 「レスポンスの内容」をクライアント
に返却
2. 認可レスポンス
User Agent
Client
Resource
Server
Authorization
Server
Authlete API
End User API Client API Server Authlete
Resource
Owner
Authorization
Response
/auth/authorization/issue
API
23.
23
• (Request fromClient to AS)
– 双方向TLS接続を確立
• 認可サーバーがクライアント証明書を検証
– FAPI準拠のトークンリクエストを送信
• Request from AS to Authlete
– 双方向TLS接続からクライアント証明書を抽出
– リクエストパラメーターとクライアント証明書(PEM
形式)をAuthleteにそのまま転送
• Response from Authlete to AS
– リクエストパラメーターを検証
– クライアント証明書のSubject DNを検証
– Subject DNにひもづくトークンを生成
– 認可サーバーがクライアントに返却する「レスポンス
の内容」とその伝達手段を回答
• (Response from AS to Client)
– 「レスポンスの内容」をクライアントに返却
3 & 4. トークンリクエスト/レスポンス
User Agent
Client
Resource
Server
Authorization
Server
Authlete API
End User API Client API Server Authlete
Resource
Owner
Token
Request
/auth/token API
24.
24
• (Request fromClient to RS)
– 双方向TLS接続を確立
• リソースサーバーがクライアント証明書を検証
– アクセストークンを含むAPIリクエストを送信
• Request from RS to Authlete
– 双方向TLS接続からクライアント証明書を抽出
– アクセストークンとクライアント証明書(PEM形
式)をAuthleteにそのまま転送
• Response from Authlete to RS
– クライアント証明書のSubject DNを検証
– Subject DNとアクセストークンのひもづけを検証
– アクセストークンの有効性と、それにひもづく情報
を回答
• (Response from RS to Client)
– Authleteからの回答をもとにアクセス可否やレスポ
ンス内容を決定し応答
5. APIリクエスト
User Agent
Client
Resource
Server
Authorization
Server
Authlete API
End User API Client API Server Authlete
Resource
Owner
API
Request
/auth/introspection
API