OAuth徹底入門の読書感想文 -3章-

OAuth徹底入門を読んだので感想と概要を書いていきます

www.shoeisha.co.jp

前章については昨日書きました

zwzw.hatenablog.com

3章 シンプルなOAuthクライアントの構築

3章ではハンズオン形式でOAuthを使用するクライアントを実装していきます

と言ってもコードはほとんど完成しているものがダウンロードできるし、ただ読んでいくだけでもそこまで理解は難しくありません

通常クライアントはウェブアプリケーションであることが多く、リソース所有者 (ユーザー)はクライアントで保護対象リソースを使ってなんらかの処理をしようとしている

クライアントは保護対象リソースにアクセスしたいが権限を持っていないので権限を委譲してもらう必要がある

  • 認可リクエストの送信

クライアントは認可リクエストを送信する

内容としては必要なクエリパラメータをくっつけてリソース所有者を認可サーバーへリダイレクトするもの

  • 認可サーバーからのレスポンスの処理

認可サーバーでリソース所有者が保護対象リソースへのアクセスを許可すると認可コードが発行される

認可サーバーは認可コードを持った状態で、リソース所有者をクライアントへリダイレクトする

クライアントではリクエスト (リダイレクトしているので認可リクエストに対するレスポンスではなく、リソース所有者からのリクエストになる)から認可コードを取り出す

クライアントは認可コードをクエリパラメータに入れて認可サーバーへアクセスし、アクセストークンとリフレッシュトークンを発行してもらう

  • 保護対象リソースへのアクセス

取得したアクセストークンを持った状態で保護対象リソースへリクエストを送り、アクセストークンが正しく確認されればリソースへアクセスができるようになる

もしアクセストークンが期限切れになっている場合は、リフレッシュトークンを認可サーバーへ送ることで新たなアクセストークンとリフレッシュトークンを受け取ることができる

感想

僕はハンズオンは行わずに読んだだけですが、コードとHTTPのリクエスト・レスポンスが書いてあるのでわかりやすいです

一つ一つの工程を細かくバラしていくとあんまり複雑なことはやっていないんだなと感じました (トークンがなければ発行してもらうように認可サーバーへ送る、期限が切れてたらリフレッシュトークンを使って新しいものを取得するなど)