【おーおーす】
OAuth とは?
最終更新:
💡 パスワードを渡さずに「鍵の一時貸し」をする仕組み
サードパーティアプリにパスワードを渡さずにリソースへのアクセスを許可する認可フレームワーク。
📌 このページのポイント
OAuthって何を解決するの?
例えば写真印刷アプリに、写真サービスの写真を読む権限だけを許可したい場面だよ。OAuthでは写真サービス側で利用者を確認し、許可した範囲にアクセスするためのトークンを発行する。印刷アプリへ写真サービスのパスワードを渡さずに連携できるんだ。
認証と認可の違いは?
認証は「あなたは誰?」を確かめること、認可は「何をしていい?」を許可することだよ。OAuthは認可の仕組みで、アクセストークンだけを利用者の本人確認に使うものではない。ログイン連携には、OAuth 2.0を拡張して認証結果を伝えるOpenID Connectなどを使うんだ。
アクセストークンって何?
保護されたAPIへアクセスするための認証情報だよ。許可範囲や有効期間は発行元の設定による。リフレッシュトークンが発行される場合は、再びアクセストークンを取得できる。ただしBearerトークンは持っている人が使えるため、漏れれば許可範囲の操作をされるおそれがあるんだ。
実装時の注意点は?
まとめ:ざっくりこれだけ覚えればOK!
「OAuth」って出てきたら「パスワードを渡さずにアクセス権限を委譲する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「OAuth」 = アクセスを認可するフレームワークの名称
💬 OAuth 2.0の仕様名は「The OAuth 2.0 Authorization Framework」。Authorizationは「何をしてよいか」という認可のことだよ