OpenID Connect入門 ―アプリケーション開発者のための実践技術解説(技術評論社) [電子書籍]
    • OpenID Connect入門 ―アプリケーション開発者のための実践技術解説(技術評論社) [電子書籍]

    • ¥3,300660 ゴールドポイント(20%還元)
    • ただいま予約受付中!2026年02月24日12:00:00からお読みいただけます
100000086603141397

OpenID Connect入門 ―アプリケーション開発者のための実践技術解説(技術評論社) [電子書籍]

土岐孝平(著者)
価格:¥3,300(税込)
ゴールドポイント:660 ゴールドポイント(20%還元)(¥660相当)
フォーマット:
専用電子書籍リーダーアプリ「Doly」が必要です。無料ダウンロード
お届け日:ただいま予約受付中!
出版社:技術評論社
公開日時:2026年02月24日12:00:00からお読みいただけます。
お取り扱い: のお取り扱い商品です。
ご確認事項:電子書籍リーダーアプリ「Doly」専用コンテンツ
こちらの商品は電子書籍版です

OpenID Connect入門 ―アプリケーション開発者のための実践技術解説(技術評論社) の 商品概要

  • 昨今のアプリケーションの開発では、OpenID Connectを使用してユーザ認証を行うケースが多くなっています。しかし、OpenID Connectについてよく知らずに使用している開発者も多いのではないのでしょうか? きちんと理解しないままOpenID Connectを使用すると、上手く動かないときの調査に時間がかかったり、重大なセキュリティホールを潜ませてしまうリスクにつながります。 OpenID Connectをよく知らない開発者が多い理由として、その難しさがあります。筆者自身、OpenID Connectを理解するのに多くの時間を要しました。概念的な難しさに加え、数多くの用語が登場して複雑に関係しています。また、きちんと理解するにはOpenID Connectの仕様書を参照する必要がありますが、説明が機械的で学習向きとは言えません。 本書は、OpenID Connectの知識がほとんどない方でも、OpenID Connectを理解してもらえるような内容です。OpenID Connectが登場した背景から始まり、各種フローを丁寧に説明します。代表的なセキュリティの脆弱性や対応方法についても説明します。また、サンプルアプリケーションを通して実装のイメージを伝えつつ、具体的にやりとりされるデータを示しながら説明します。 本書を読むことで、OpenID Connectを使用したアプリケーション開発に従事するための十分な知識を得ることができます。
  • 目次

    第1章 OpenID Connectの概要
    1.1 身近な存在のOpenID Connect
    1.2 OAuth 2.0について
    1.2.1 OAuth 2.0の認可
    1.2.2 外部アプリケーションへのアクセス
    1.3 ユーザー認証としてのOAuth 2.0
    1.4 OpenID Connectによる拡張
    1.5 本書でのOAuth 2.0の扱い
    1.6 OIDCで登場する役割
    1.6.1 ユーザー
    1.6.2 IdP(Identity Provider)
    1.6.3 Client
    1.6.4 Resource Server
    1.7 Clientの形態
    1.7.1 MPAのClient
    1.7.2 SPAのClient
    1.7.3 BFFのClient
    1.7.4 ネイティブアプリのClient
    1.7.5 ユーザーが関与しないClient
    1.8 「コンフィデンシャル」と「パブリック」
    1.9 IdPの調達
    1.10 「1st Party Client」と「3rd Party Client
    1.11 まとめ

    第2章 OIDCの利用シーン
    2.1 業務向けのアプリケーションでの利用シーン
    2.1.1 複数の社内アプリケーションを同じユーザー情報・クレデンシャルで利用したい(シングルサインオン)
    2.1.2 認証機能を自前で実装したくない
    2.1.3 アプリケーション間で安全にAPIを呼び出したい
    2.2 コンシューマ向けのアプリケーションでの利用シーン
    2.2.1 SNSに認証を任せたい
    2.2.2 SNSのコンテンツを利用したい
    2.3 まとめ

    第3章 エンドポイントとフローの種類
    3.1 エンドポイントの種類
    3.1.1 認可エンドポイント
    3.1.2 リダイレクションエンドポイント
    3.1.3 トークンエンドポイント
    3.2 フローの種類
    3.3 認可コードフロー
    3.3.1 ClientがMPAの認可コードフロー
    3.3.2 ClientがSPAの認可コードフロー
    3.3.3 ClientがBFFの認可コードフロー
    3.3.4 Clientがネイティブアプリの認可コードフロー
    3.4 インプリシットフロー
    3.5 ハイブリッドフロー
    3.6 クライアントクレデンシャルフロー
    3.7 リソースオーナーパスワードクレデンシャルフロー
    3.8 フローの使い分け
    3.9 まとめ

    第4章 トークンの種類と形式
    4.1 トークンの種類
    4.2 アクセストークン.
    4.2.1 オパークトークン
    4.2.2 JWT
    4.2.3 オパークトークンとJWTの比較
    4.3 IDトークン
    4.4 リフレッシュトークン
    4.5 まとめ

    第5章 認可コードフローの詳細
    5.1 認可コードフローの全体像
    5.2 認可リクエスト
    5.2.1 Scopeパラメータ
    5.2.2 response_typeパラメータ
    5.2.3 client_idパラメータ
    5.2.4 redirect_uriパラメータ
    5.2.5 stateパラメータ
    5.2.6 nonceパラメータ
    5.2.7 code_challenge、およびcode_challenge_method.パラメータ
    5.3 認可レスポンス
    5.4 リダイレクションエンドポイントへのリクエスト
    5.5 トークンリクエスト
    5.6 トークンレスポンス
    5.7 PKCEとは
    5.8 まとめ

    第6章 アクセストークン取得後に行われる処理
    6.1 (Client側) Resource Serverへのアクセス
    6.2 (Resource Server側)アクセストークンの正当性の検証
    6.2.1 電子署名を使用する方法
    6.2.2 IdPに都度問い合わせる方法
    6.3 (Client側)アクセストークンのリフレッシュ(再発行)
    6.3.1 リフレッシュリクエスト
    6.3.2 リフレッシュレスポンス
    6.3.3 リフレッシュトークンのローテーション
    6.4 (Client、およびResource Server側)ユーザー情報の取得
    6.4.1 ユーザー情報リクエスト
    6.4.2 ユーザー情報レスポンス
    6.5 まとめ

    第7章 ログアウトの方法
    7.1 どこからログアウトするのか
    7.2 OpenID Connect RP Initiated Logout
    7.3 シングルログアウト
    7.4 OpenID Connect Front-Channel Logout
    7.5 OpenID Connect Back-Channel Logout
    7.6 まとめ

    第8章 アプリケーションの実装例
    8.1 Keycloakの紹介
    8.2 Keycloakのインストールと初期設定
    8.3 ディスカバリーエンドポイントの確認
    8.4 サンプルプログラムの種類
    8.5 まとめ

    第9章 ClientがSPAの認可コードフローの サンプルプログラム
    9.1 サンプルプログラムの概要
    9.2 KeycloakでのClientの設定
    9.3 SPA(Client)の実装
    9.4 APIサーバ(Resource Server)の実装
    9.5 動作の流れ
    9.6 まとめ

    第10章 ClientがBFFの認可コードフローのサンプルプログラム
    10.1 サンプルプログラムの概要
    10.2 KeycloakでのClientの設定
    10.3 SPAの実装
    10.4 BFFの実装
    10.5 APIサーバの実装
    10.6 動作の流れ
    10.7 まとめ

    第11 章 Clientがネイティブアプリ(Androidアプリ)の認可コードフローのサンプルプログラム
    11.1 サンプルプログラムの概要
    11.2 KeycloakでのClientの設定
    11.3 Androidアプリ(Client)の実装
    11.3.1 MainActivityクラス
    11.3.2 MainActivityViewModelクラス
    11.3.3 OidcClientクラス
    11.3.4 User.java、OrderItem.java
    11.3.5 その他
    11.4 APIサーバの実装
    11.5 動作の流れ
    11.6 まとめ

    第12章 クライアントクレデンシャルフローのサンプルプログラム
    12.1 サンプルプログラムの概要
    12.2 KeycloakでのClientの設定
    12.3 バッチアプリ(Client)の実装
    12.4 APIサーバの実装
    12.5 動作の流れ
    12.6 まとめ

    第13章 セキュリティの脅威と対応
    13.1 代表的なセキュリティの脅威と対応
    13.2 オープンリダイレクター
    13.2.1 対応方法
    13.3 Refererヘッダによる認可コードの漏えい
    13.3.1 対応方法
    13.4 認可コードインジェクション
    13.4.1 対応方法
    13.5 リダイレクションエンドポイントのCSRF
    13.5.1 対応方法
    13.6 URIスキーマの不正な登録
    13.6.1 対応方法
    13.7 Mix-Up攻撃(IdPの混同)
    13.7.1 対応方法
    13.8 ほかのClientに発行したアクセストークンの転用
    13.8.1 対応方法
    13.9 アプリケーション開発者が実施すべきこと
    13.9.1 HTTPSを使用する
    13.9.2 XSSの対策をする
    13.9.3 PKCEを使用する
    13.9.4 パブリックなClientでClient Secretを保持しない
    13.9.5 IdPに登録するリダイレクションエンドポイントのURLに.ワイルドカードを使用しない
    13.9.6 Resource Serverでaud Claimをチェックする
    13.9.7 アクセストークンの有効期間を短くする
    13.9.8 IdPを複数使用し、かつ信頼性に懸念がある場合はMix-Up攻撃の対応をする.
    13.9.9 高いセキュリティ要件を満たす必要がある場合は、FAPI 2.0の導入を検討する
    13.10 まとめ

    付録 A デバイスフロー
    A.1 デバイスフローの概要
    A.2 まとめ
    付録B 外部IdP連携
    B.1 外部IdP連携でやりたいこと
    B.2 外部IdP連携のしくみ
    B.3 まとめ
    付録C OIDC関連の公式ドキュメント
    C.1 コアとなる仕様
    C.2 Clientの形態に特化したベストプラクティス
    C.3 アクセストークン周り
    C.4 セキュリティ
    C.5 高いセキュリティ要件
    C.6 ログアウト
    C.7 JWT
    C.8 その他
    C.9 まとめ

OpenID Connect入門 ―アプリケーション開発者のための実践技術解説(技術評論社) の商品スペック

Cコード 3055
出版社名 技術評論社
本文検索
紙の本のISBN-13 9784297154561
他の技術評論社の電子書籍を探す
ファイルサイズ 222.8MB
著者名 土岐孝平
著述名 著者

    技術評論社 OpenID Connect入門 ―アプリケーション開発者のための実践技術解説(技術評論社) [電子書籍] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!