HatenaAPIAuth

はてな認証API > ヘルプ > 認証APIを利用した認証の流れ

認証APIを利用した認証の流れ

認証APIを利用した認証の流れを、シーケンス図を用いて解説します。API の具体的な利用方法については はてな認証APIを使った認証システムをウェブアプリケーションに組み込む方法をご覧ください。

  • サービスXははてな認証APIを組み込んだサードパーティアプリケーションです。
  • ユーザーAはサービスXを利用しようとしています。
  • サービスXはユーザーAのはてなでのアカウントの有無とアカウントがあった場合のそのアカウント名を確認しようとしています。

はてな認証APIシーケンス図

  1. ユーザーAはサービスXを利用するために、サービスXのサイトを訪問します。
  2. サービスXはユーザーAに対して、はてな認証APIによるログイン画面へのリンクを提示します。リンクには api_key ならびに秘密鍵を用いて生成したシグネチャ(api_sig1) が URL パラメータとして含まれています。
  3. 2 で提示されたリンクを辿って(api_key + api_sig1 を含んだURLを辿って)ユーザーAははてなを訪問します。訪問した画面では、ユーザーAは一度はてなにID/パスワードでログインします。(すでにログインされている場合は Cookie で認証を行います。)
  4. ユーザーAが認証に成功すると、サービスXにユーザーAのユーザー情報(アカウント名/プロフィール画像(アイコン)のURL)を読み取る許可を与えて良いかの確認画面が表示されます。ユーザーAが情報読み取り許可を承諾すると、ユーザーAのブラウザにはサービスXのコールバックURLに cert パラメータを付与した URL がHTTPのリダイレクトステータスコード(302)共に返却されます。
  5. 4 の結果ユーザーはサービスXに cert パラメータを持ってリダイレクトされます。
  6. サービスX は cert パラメータを受け取り、その値と api_key、シグネチャ(api_sig2) を持ってはてなにユーザーAのユーザー情報を問い合わせます。
  7. 問い合わせの結果 cert パラメータが正しければサービスXにユーザー名/アイコンのURLが JSON/XML で返却されます。サービスXはこの情報をローカルでキャッシュし、またセッション管理用Cookieなどを用いてユーザーAと紐付けを行います。
  8. 以上認証が完了したところで、ユーザーAにはサービスXから、認証完了後の画面が提示されます。
Copyright (C) 2001-2017 hatena. All Rights Reserved.