OAuth2をざっくり説明

OAuth2って

認可やら認証やら言われるけど本来は

権限委譲の為のプロトコル

登場人物

  • リソースにアクセスする権限をもっているユーザ

いわゆる我々一般ユーザー

  • クライアント

ユーザーの持っているリソースにアクセスしようとするアプリケーション

  • 認可サーバー

どのユーザーが、どのクライアントに、どのリソースへのアクセスを認可しているかを保持し、アクセストークンを払い出すサーバー

  • リソース保持サービス

クライアントがアクセスしたいリソースを持っているサービス

流れ

ユーザーがクライアント (Webアプリケーション)を使おうとする

クライアント使用のために必要な情報へのアクセスの許可をもらうため、クライアントがユーザーを認可サーバーへリダイレクトする

認可サーバーで、どのクライアントに、どのリソースへのアクセスを許可するかを提示されるのでユーザーは許可をする

認可サーバーからクライアントへ認可コードをつけた状態でリダイレクトされる

クライアントは認可コードを取り出し、それを認可サーバーへ送ることでアクセストークンを取得する

クライアントはアクセストークンをつけた状態でリソース保持サーバーへアクセスし、リソースへのアクセスを許可してもらい、リソースを利用したサービスを提供する

最後に

https://www.amazon.co.jp/dp/B07L5M7DXS/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

今こちらの本を読みながら勉強中なので後日きちんとまとめます