「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
SPAでPKCEする場合のプロファイル。
詳細 †
特徴 †
- カスタムURLスキームを使用しない「response_mode=fragment」で認可リクエストを行う。
- バックエンドからclient_secret付きでTokenリクエストにするものと思っていたが、
- 以下を確認すると、client_secretは不要らしい(SPA上からTokenリクエスト可能)。
- 一方で、Hybrid Flowのcodeは
バックエンドからclient_secret付きでTokenリクエスト(code_verifier無いから)。
実装 †
従って、基本的には、まんまPKCEをSPAから実装すれば良い。
認証 †
- 前述の特徴の通り、client_secretは不要。
フロー †
基本的に、ネイティブ・アプリケーションと同様に、
フロントエンド・ホスト側のエンドポインドは利用しなくていい。
- 認可リクエストはフロントエンド・ホストからリダイレクトで開始するのだと考えていた。
- しかし、Routerを定義したSPAでは、自サイトにHTTPリクエストが飛ばず、
- ネイティブ・アプリケーションと同様に、Public Clientから直接リクエストした。
- リダイレクト・エンドポイントを経由してCodeを受け取るのだと考えていたが、
- しかし、Routerを定義したSPAでは、自サイトにHTTPリクエストが飛ばず、
- カスタムURLスキームと同様、直接、Public Clientに戻ってCodeを取得する。
※ Router(URLによるページ遷移)を定義したSPAでは、
自サイトにHTTPリクエストが飛ばなくなる。と言うのがポイント。
参考 †
Tags: :IT国際標準, :認証基盤, :クレームベース認証, :OAuth