
OAuth
OAuthの登場人物は3つです。
・ユーザー
・認証サーバー
・サービスサーバー

一連のフローをクライアントアプリからfacebookに投稿する例で説明します。
①クライアントアプリがアクセストークンを要求
クライアントアプリを操作しているユーザーがfacebookに投稿ボタンを押下した場合に認証サーバーに対してfacebookにアクセスするためのアクセストークンの発行依頼を送付します。
②認証サーバーからユーザーに対してアクセストークンの発行を許可するか確認
実際はユーザーといってもクライアントアプリに確認画面を出すということです。「クライアントアプリにfacebookへのアクセスを許可しますか」のようなメッセージを見たことがあるかと思います。これがその処理になります。
③アクセスを許可
許可することでその情報が認証サーバーに伝わります。
④許可してアクセストークンを発行
認証サーバーでアクセストークンの発行が行われます。
⑤アクセストークンの共有
クライアントアプリがリソースサーバーにアクセスしたときにアクセストークンを検証する必要があるためリソースサーバーにアクセストークンを共有しておきます。
⑥アクセストークンの送付
クライアントアプリにアクセストークンを送付します。
⑦リソースサーバーにアクセス
アクセストークンと共にAPIアクセスを実行します。
⑧アクセストークンの検証
送られてきたアクセストークンがユーザーの許可を得たものであるかを認証サーバーに検証する。
⑨リソースの取得
アクセストークンが検証されたらリソースを取得することができます。
まとめ
いかがだったでしょうか。
今回は認証・認可についてご紹介しました。
それではまたお会いしましょう。