OAuth 2.0 シーケンス
概要
Endpoints
OAuth 2.0 の Authorization Server では以下のエンドポイントを利用する。
- Authorization Endpoint : 認証をおこない、Authorization Code または Access Token を発行する。
- Token Endpoint : 認証情報または Authorization Code から、Access Token を発行する。
- Introspection Endpoint : Access Token の有効性確認をおこなう。Authorization Server と Resource Server が同じ場合は不要。
RFC 6749, 4.1 : Authorization Code Grant
- フロントのユーザー認証に対して Authorization Code を発行し、バックエンドで Access Token に交換する。
- Access Token の発行時にクライアント認証が可能。(OPTIONAL)
- Client に Access Token を開示しない。
Token Refresh
RFC 6749, 4.2 : Implicit Grant
- Authorization Code Grant から Authorization Code を省略したもの。
- クライアント認証はおこなえない。
- Client に Access Token を開示する。
- Refresh Token は発行されない。
RFC 6749, 4.3 : Resource Owner Password Credentials Grant
- クライアントアプリケーションがユーザーの ID とパスワードを受け取る。
RFC 6749, 4.4 : Client Credentials Grant
- クライアントの認証のみをおこなう。
- Refresh Token は発行されない。
参考
- RFC 6749 : The OAuth 2.0 Authorization Framework
- OAuth 2.0 全フローの図解と動画 - Qiita
- OAuth 2.0の代表的な利用パターンを仕様から理解しよう
- RFC7662として発行されたOAuth Token Introspectionとは