OAuth2.0 認可方式
OAuth2.0にはアクセストークンを取得するための複数の方法があります。
これらの方法について簡単にまとめます。(それぞれの詳細は別の記事で)
RFCには以下の5つが定められています。
- 認可コード(+ PKCE)
- インプリシット
- リソースオーナー・パスワード・クレデンシャルズ
- クライアント・クレデンシャルズ
- リフレッシュトークン
これらの方式は認可サーバが提供する認可エンドポイント、トークンエンドポイントを使用することによりアクセストークンを取得します。
認可コード方式
認可エンドポイントから認可コードを発行し、トークンエンドポイントで認可コードと引き換えでアクセストークンを取得するフローになります。
PKCEはブラウザでクライアントシークレットなどの機密情報を保持できない場合に使用する方法です。
インプリシット
認可エンドポイントから直接アクセストークンを発行するフローです。
認可コード方式とは異なり、リフレッシュトークンは発行されません。現在では推奨されていない方式となります。
リソースオーナー・パスワード・クレデンシャルズ
リソースオーナーのIDとパスワードを受け取り、アクセストークンを発行するフローです。クライアントアプリにリソースオーナーのIDとパスワードが渡ってしまうため、基本的には使わないフローとなります。
クライアント・クレデンシャルズ
クライアントの認証のみでアクセストークンを発行するフローになります。
クライアントとリソースオーナーが同一の場合に使われるフローです。
リフレッシュトークン
リフレッシュトークンを提示し、アクセストークンの再発行を受けるフローです。
この記事が気に入ったらサポートをしてみませんか?