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

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

www.shoeisha.co.jp

1章の感想は昨日書きました

zwzw.hatenablog.com

2章 OAuthダンス ~OAuthの構成要素間の相互作用~

OAuthは複雑なセキュリティ・プロトコルであり、様々な構成要素がまるで一緒に踊っているかのように絶妙なバランスでお互いに情報を交換する

しかし根本的に、OAuthのトランザクショントークンの発行とトークンの使用の2つに分割できる

OAuthの仕組みでは4つのアクターとなる構成要素 (クライアント、リソース所有者、認可サーバー、保護対象リソース)が存在し、それぞれOAuthプロトコルに置ける異なる箇所の責任を担っている

  • クライアント

クライアントはソフトウェアであり、リソース所有者の代わりに保護対象リソースへのアクセスを試みる

OAuthはそこへのアクセス権を得るために使われる

クライアントの責務は認可サーバーからトークンを取得し、トークンを利用して保護対象リソースへアクセスすることであり、トークンの内容については知るべきではない

  • 保護対象リソース

保護対象リソースはHTTPサーバーから提供されており、アクセスにはトークンが必要

トークンを検証して、リクエストに応えるか、どのように応えるかを決定する

OAuthにおいて、保護対象リソースはトークンを信頼するかの最終的な決定権をもつ

  • リソース所有者

リソース所有者はクライアントにアクセス権を委譲する権限を持つ

ほとんどの場合、リソース所有者はクライアントアプリケーションを使っているユーザー

  • 認可サーバー

認可サーバーはリソース所有者とクライアントの認証を行い、トークンを発行する

OAuthに関する多くのプロセスではHTTPによるリクエストとレスポンスでコミュニケーションをとる

クライアントと認可サーバーへトークンをリクエストする、クライアントがトークンを利用して保護対象リソースへアクセスするなど、リソース所有者を含まないコミュニケーションをバック・チャネル・コミュニケーションという

反対にクライアントが認証コードを受け取るためユーザーを認可サーバーへリダイレクトするなど、リソース所有者が使用するブラウザを仲介して行うやりとりをフロント・チャネル・コミュニケーションという

OAuthの構成要素はHTTPの直接的な通信 (バック・チャネル)と間接的な通信 (フロント・チャネル)によってお互いにコミュニケーションを取っている

感想

1章より細かい部分に踏み込んでどのようにトークンを取得し、どのように使うかという話がメイン

ただ1章でもまあまあしっかりOAuthの流れについて解説してくれてたので繰り返し感は否めない

全体的に1章のOAuthの概念の理解をサポートしてくれるのが2章って感じだった