💡

【メモ(主に自分用)】『アクセストークン』と『OAuth 2.0』のまとめ

2023/01/25に公開

◎OAuth
OAuthとは、複数のWebサービスを連携して動作させるために使われる仕組み。通常、Webサービスを利用するためは、個別にユーザーIDとパスワードを入力してユーザーを認証する必要があるが、OAuthを利用することで、IDやパスワードを入力することなく、アプリケーション間の連動ができる。

例)プロゲートでステージクリアしてTwitterでステージクリアのツイートをする場合、通常はTwitterにIDとパスワードを入力する必要があるが、OAuthを利用することでIDとパスワードを入力しなくても、ステージクリアのツイートが出来る仕組み。

◎登場するもの
・ユーザー
・クライアントアプリ: ユーザーのデータを利用するアプリケーション
・リソースサーバー : ユーザーのデータを管理するサーバー
・認可サーバー : アクセストークンを発行する係
※認可サーバーの役割とリソースサーバーの役割を一つのサーバーが兼ねることもある

◎流れ

①クライアントアプリが認可サーバーにアクセストークンの発行をリクエスト
②認可サーバーがユーザーにクライアントアプリへ権限付与していいか許可を取る
③ユーザーが認証
④認可サーバーがアクセストークンを生成する
⑤認可サーバーがクライアントアプリケーションに対してアクセストークンを発行

⑥クライアントアプがアクセストークンを添えて、リソースサーバーにユーザーデータをリクエスト
⑦リソースサーバーはリクエストからアクセストークンを取り出し、アクセストークンがユーザーのデータを利用する権限を持っているか確認
⑧権限があった場合は、リソースサーバーがデータをクライアントアプリケーションに渡す

Discussion