OAuth 2.0をはじめよう
- Ryan Boyd 著、勝野久美子、株式会社トップスタジオ 訳
- 2012年10月 発行
- ISBN978-4-87311-558-0
- フォーマット ePub
- 原書: Getting Started with OAuth 2.0
内容
本書は、Webアプリケーションのためのユーザー認証プロトコルであるOAuth 2.0の概要を紹介する書籍です。基礎となるOAuth誕生の背景や用語の解説から、 サーバサイドWebアプリケーションフロー、クライアントサイドWebアプリケーションフロー、リソース所有者パスワードクレデンシャルフロー、クライアントクレデンシャルフローなどの各認証フロー、またモバイルアプリケーションからユーザデータへのアクセスや、次世代の認可・認証技術OpenID Connect認証に関する内容を概説しています(OpenID ConnectについてはOpenID Connect Basic Client Profile 1.0 - draft 15に基づいています)。なお本書はEbookのみの販売となります。
目次
はじめに
本書の表記規約について
サンプルコードの利用について
お問合せ先
謝辞
1章 はじめに
OAuthの誕生
なぜOAuthが重要なのか
なぜパスワードによるAPI認可がダメなのか
重要な用語
認証(Authentication)
連合型認証(Federated Authentication)
認可(Authorization)
委譲認可(Delegated Authorization)
ロール(Roles)
署名をめぐる大論争
ベアラートークンへの懸念を緩和する
OAuth 2.0リクエストにデジタル署名を付ける
鍵の入手
APIリクエストの生成
開発者とアプリケーションの登録
登録が必要な理由
クライアントプロファイル、アクセストークン、認可フロー
クライアントプロファイル
アクセストークン
認可フロー
2章 サーバサイドWebアプリケーションフロー
認可コードフローを使うべきケース
セキュリティ特性
ユーザエクスペリエンス
各ステップの詳細
ステップ1:ユーザにこれから実行する内容を知らせ、認可を求める
エラー処理
ステップ2:認可コードをアクセストークンに交換する
アクセストークンとリフレッシュトークンの両方が必要な理由
ステップ3:APIを呼び出す
エラー処理
ステップ4a:アクセストークンを更新(リフレッシュ)する
ステップ4b:新しいアクセストークンを取得する
アクセス権限を取り消す方法
3章 クライアントサイドWebアプリケーションフロー
インプリシットグラントフローを使うべきケース
インプリシットグラントフローの制限
セキュリティ特性
ユーザエクスペリエンス
各ステップの詳細
ステップ1:ユーザにこれから実行する内容を知らせ、認可を求める
エラー処理
ステップ2:URLからアクセストークンを解析する
ステップ3:APIを呼び出す
ステップ4:アクセストークンを更新(リフレッシュ)する
アクセス権限を取り消す方法
4章 リソース所有者パスワードクレデンシャルフロー
リソース所有者パスワードクレデンシャルフローを使うべきケース
セキュリティ特性
ユーザエクスペリエンス
各ステップの詳細
ステップ1:ユーザにクレデンシャルを要求する
ステップ2:クレデンシャルをアクセストークンに交換する
ステップ3:APIを呼び出す
ステップ4:アクセストークンを更新(リフレッシュ)する
5章 クライアントクレデンシャルフロー
クライアントクレデンシャルフローを使うべきケース
クライアントクレデンシャルフローをサポートするAPI
クライアント認証の方法
セキュリティ特性
各ステップの詳細
ステップ1:アプリケーションのクレデンシャルをアクセストークンに交換する
ステップ2:APIを呼び出す
アクセストークンの有効期限
6章 モバイルアプリケーションからユーザデータへのアクセス
ネイティブモバイルアプリケーションにOAuthを使う理由
ネイティブモバイルアプリケーションで使用するフロー
バックエンドWebサーバが存在するかどうか
Webブラウザは格好悪い?
組み込みWebView
システムWebブラウザ
各プロバイダによるモバイルアプリケーション向け認可機能拡張
Google
Facebook
7章 OpenID Connect認証
IDトークン
セキュリティ特性
ユーザ認可の取得
Check IDエンドポイント
UserInfoエンドポイント
パフォーマンスの改善
OpenID Connect実践編
Google
Facebook
OpenID Connectの今後
8章 ツールとライブラリ
GoogleによるOAuth 2.0 Playground
GoogleのTokenInfoエンドポイント
Apigeeコンソール
FacebookのAccess Token ToolとAccess Token Debugger
ライブラリ
より詳しく知りたいときは
付録A 参考文献
仕様
ベンダによるドキュメント
メーリングリスト
その他