認可のプロトコルであるOAuth2.0と認証の関係を理解するための本です。OpenID Connectの入門書でもあります。
■ 2024年版として以下の項目を追加しました。
4.6 OpenID Configuration」
コラム: OpenID Connect は OAuth の拡張だ が、OAuth ができてから仕様策定が始 まったわけではない」
「4.3.4 ペ イロード」、「4.4 UserInfo エンドポイン ト」、「4.5.3 インプリシットフロー」に ID トークンにプロフィール情報が含まれる 場合についての解説
■ 想定読者
以下のいずれかに当てはまるエンジニア
• OAuthと認証の関係を理解したい
• 「SNSアカウントでログイン」の仕組みを知りたい
• OpenID Connectを理解したい
■ この本を読むメリット
「OAuth は認可のプロトコルなのになぜ OAuth"認証"という言葉が使われているのか」
「OAuth 認証と『OAuth を認証に使えるように拡張した OpenID Connect』は何が違うのか」
この本はこの問に自信をもって答えられるようになります。
この本を読めば、以下のそれぞれでOAuth、OAuth認証、OpenID Connectのうち
何が使われているのかを理解できます。
• サードパーティアプリで Google Photo の画像をダウンロードする場合
• サードパーティアプリに Facebookアカウント でログインする場合
• サードパーティアプリに Googleアカウント でログインする場合
• サードパーティアプリに Googleアカウント でログインして Google Photo から画像をダウンロードする場合
■ この本の特徴
• OpenID Connectの流れをcurlとブラウザで手を動かしながら学べるチュートリアル付き
• 厳密性より、最もオーソドックスな一例を理解できることをめざしています
• 本文は100ページを超えていますが、図が多いのでサクサク読めます
想定読者
パスキーとは次世代のパスワードレス認証として、大いに注目されている技術です。
この本の想定読者は「『パスキー』って聞いたことはあるけど、よくわかってないし、使ってもないんだよなぁ」というITエンジニアのみなさんです。
本の内容
読者には、まず実際にパスキーを試してみていただきたいです。
パスキーの利用について前向きになってもらうために、この本では「パスキーが登場するに至った背景とパスキーが解決する課題」「GitHub 、Amazonでのパスキーの設定方法」、「利用するに当たっての疑問」について解説しています。
なぜこの本を書いたのか
パスキーはパスワードに変わるより簡単でセキュアな認証方式として、その普及に大きな期待がよせられています。
2022年、Apple、Google、Microsoftといった大手テクノロジー企業がパスキーに対応していく方針を表明しました。2023年11月現在はプラットフォームやブラウザの対応が進み、様々なサービスが、パスキーを提供しつつある状況です。
一方で利用者側に目を向けると、ITエンジニアでもまだまだ利用されていない方が多いようです。筆者がX(Twitter)で実施したアンケート結果では利用率が54%でした。筆者がこれまで扱ってきたOAuth、OpenID Connectに興味持っている層としては思っていたほどの利用率ではありませんでした。
パスキーが広く使われるためには、多くのサービスでパスキーが導入されなければなりません。
そのためには、開発者がパスキーを理解する必要があり、
理解を深める第一歩に、まずはユーザーとしてパスキーを使っていく事が重要だと筆者は考えています。
この本を読んで、パスキーが便利だと思ったらぜひいろんなサービスでも使ってみてください。
雰囲気OAuthシリーズ第1弾!認可のプロトコルOAuth2.0の仕様を理解するための本です。
■ 対象読者
「ぜんぜんわからない。俺たちは雰囲気で OAuth をやっている。」
この本はそんなエンジニアを対象としています。
具体的には以下の質問に答えられないエンジニアです。
• スコープとは何ですか?
• 認可コードは何が行われた証ですか?
• Webアプリケーションではどのフローを使うべきですか?
■ この本を読むメリット
• OAuth2.0 に関わる概念を整理して理解できます
• 具体的なソフトウェアプロジェクトの構成要素を OAuth2.0 のロールにマッピングできるようになります
• 自分のソフトウェアプロジェクトで利用すべきフローを判断できるようになります
• 利用したい API の OAuth 関連資料や OAuth2.0 の標準仕様を読みこなすための地図が頭の中にできます
■ この本の特徴
• Google Photo API を使った画像編集アプリの例を頻繁に出すことで具体的にイメージしやすい説明を試みています
• Web の記事に比べると必要事項が網羅されているので、あちこち調べ回る必要はありません
• 専門的な本ほど詳細には立ち入らないので、スラスラ読めます
• curlとブラウザだけで実際にアクセストークンを取得する流れを手を動かしながら学べます
本の評判: https://togetter.com/li/1477483
■ はじめに
本書は Auth 屋の「雰囲気 OAuth シリーズ」第三弾であり、OAuth と OpenID Connect への攻撃と対策についての本です。攻撃全般ではなく、攻撃対象として一番狙われる「リダイレクト 部分への攻撃」に特化した内容になっています。リダイレクト部分への攻撃の仕組 みと、state、nonce をはじめとした対策についての仕組みを理解すれば、雰囲気 OAuth使い を脱したと言えるでしょう。
■ 想定読者
• OAuth・OIDC について用語、概念、仕組みはだいたい理解してる(Auth 屋 の前著は読んだ!)
• state、nonce、PKCE、c_hash、at_hashは聞いたことはある。理解はして ない。
• クライアント、リライング・パーティとしてアプリを作るかもしれない
■ 本書の狙い
本書の狙いは、読者がこの本を読み終わった後「下記の攻撃を防ぐためにクライア ント、リライング・パーティとしてなすべきこと」を理解できていることです。
攻撃
• クロスサイトリクエストフォージェリ • リプレイ攻撃
• 認可コード横取り攻撃
• コードインジェクション
• トークンインジェクション
対策
• state
• nonce
• PKCE
• c_hash
• at_hash
■ 本書の特徴
• OAuth・OIDC の各フローのやり取りを一つずつ追いながら解説することで、 容易に攻撃と対策の仕組みがわかる
• 攻撃と対策をビジュアルで理解できる
• 本文 100 ページ程度なので 1 日で読める