OAuth
OAuth 2.0
OAuth(認可の委譲フレームワーク)とは
ひとことで
パスワードを渡さずに、第三者アプリへ限定的なアクセス権(トークン)を委譲するための仕組み。認証ではなく認可のプロトコル。
たとえると
ホテルの「カードキー」です。フロントで発行されたカードキーは、決められた部屋に決められた期間だけ入れます。マスターキー(パスワード)を渡さずに必要な権限だけを渡せますが、カードキーを見ても、持っている人が誰なのかはわかりません。
現場ではこう使う
利用者が、写真印刷サービスに自分のクラウドストレージの写真を読み込ませたいと考えました。OAuthでは、利用者はストレージ側の画面で「写真の読み取りのみ」を許可し、印刷サービスにはパスワードではなく、その範囲だけ使えるアクセストークンが渡されます。許可は後からいつでも取り消せます。
試験のポイント
EXAM POINT「パスワードを渡さずにアクセス権を委譲」「アクセストークン」「認可(Authorization)」ならOAuth。「OAuthは認証(本人確認)の仕組みではない」が最大の引っかけです。本人確認まで必要ならOAuthの上に認証を追加したOIDC、企業向けのSSOでXML形式の認証情報を受け渡すならSAMLです。