OIDC / OAuth 2.0

OAuth 2.0 フロー

OAuth 2.0 では、アプリケーションの種類や要件に応じて異なるフロー(グラントタイプ)を使用します。 各フローの仕組みを理解し、適切なフローを選択できるようになりましょう。

フロー比較表

フロー名ユースケースセキュリティ推奨度
認可コードサーバーサイドWebアプリ推奨
認可コード + PKCESPA・ネイティブアプリ最推奨
インプリシット(レガシーSPA)非推奨
クライアントクレデンシャルサーバー間通信用途限定
デバイス認可IoT・スマートTV用途限定
リフレッシュトークントークン更新中〜高推奨

どのフローを使うべきか?

ユーザーが関与する?

Yes:はい
No:いいえ → クライアントクレデンシャルフロー

ブラウザ/入力機能がある?

Yes:はい
No:いいえ → デバイス認可フロー

client_secret を安全に保管できる?

Yes:はい → 認可コードフロー
No:いいえ → 認可コード + PKCE フロー

インプリシットフローは使わない

どのケースでもインプリシットフローは選択肢に入りません。 レガシーシステムを維持している場合は、認可コード + PKCE フローへの移行を検討してください。