OAuth2.0 認可方式

OAuth2.0にはアクセストークンを取得するための複数の方法があります。
これらの方法について簡単にまとめます。(それぞれの詳細は別の記事で)

RFCには以下の5つが定められています。
- 認可コード(+ PKCE)
- インプリシット
- リソースオーナー・パスワード・クレデンシャルズ
- クライアント・クレデンシャルズ
- リフレッシュトークン

これらの方式は認可サーバが提供する認可エンドポイント、トークンエンドポイントを使用することによりアクセストークンを取得します。

認可コード方式
認可エンドポイントから認可コードを発行し、トークンエンドポイントで認可コードと引き換えでアクセストークンを取得するフローになります。
PKCEはブラウザでクライアントシークレットなどの機密情報を保持できない場合に使用する方法です。

インプリシット
認可エンドポイントから直接アクセストークンを発行するフローです。
認可コード方式とは異なり、リフレッシュトークンは発行されません。現在では推奨されていない方式となります。

リソースオーナー・パスワード・クレデンシャルズ
リソースオーナーのIDとパスワードを受け取り、アクセストークンを発行するフローです。クライアントアプリにリソースオーナーのIDとパスワードが渡ってしまうため、基本的には使わないフローとなります。

クライアント・クレデンシャルズ
クライアントの認証のみでアクセストークンを発行するフローになります。
クライアントとリソースオーナーが同一の場合に使われるフローです。

リフレッシュトークン
リフレッシュトークンを提示し、アクセストークンの再発行を受けるフローです。

この記事が気に入ったらサポートをしてみませんか?