マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

UserAgent?SPAスマホ)でOAuth2のTokenを取得するベスト・プラクティス
UserAgent?から、直接、Resource ServerのWebAPIにアクセスする)

詳細

SPA

SPA : Single Page Application

Implicitが使用できる...が非推奨。

が、非推奨になってきたらしい。

Hybrid Flowでセキュリティが強化される。

  • codeやtokenのscope(認可された権限)を変える。
    Financial API (FAPI)では、token:参照系、code:更新系などとなっている。
  • 入手したcodeはClientのServer側にポストして使用する。
    ※ Publicクライアントにclient_id、client_secretを持たせてはダメなので。

Financial API (FAPI)も策定中。

Token Bindingの雲行きが怪しくなっているので、PKCE+Fragment みたいな方式はアリかもしれない。

OAuth2.0 DPoP

  • SPAをターゲットとして仕様が作成されている。
  • 名前の通り、アプリケーション・レイヤで、記名式切符を発行することができる。
  • これにより、SPAから直接Tokenエンドポイントにリクエストすることができる。

スマホ

前提条件

  • codeとtokenが、「Private-Use URL Scheme上書き攻撃」などから保護されない可能性がある。

Implicitは使用できない。

Hybrid Flowも使用できない。

OAuth PKCEを適切に利用する。

Financial API (FAPI)も策定中。

Implicitフロー非推奨

概要

CORSで、TokenエンドポイントにRequest可能になってきたので、

と言う方法が、SPAにおける認証・認可の推奨になりつつある。

参考

  • これにより「Private-Use URL Scheme上書き攻撃」などから保護される。
  • 入手したcodeはClientのServer側にポストしてアクセストークン・リクエストする。
    ※ Publicクライアントにclient_id、client_secretを持たせてはダメなので。

参考

ベストプラクティス

OAuth 2.0 for Native Apps

OAuth 2.0 for Browser-Based Apps

Financial API (FAPI)

  • 金融向け規格なので、前述よりさらにセキュリティ・レベルが強化される。
  • 現時点では、まだドラフト段階だが、スマホ、SPA、共に、この規格の導入を検討してイイ。
    • F-API 1 / 2 共に、Confidential Client / Public Clientのプロファイルを持っている。
    • このうち、スマホ / SPA、は、Public Clientのプロファイルを適用する。

FAPI Part 1

S256のPKCE

FAPI Part 2

...未定...

OSSコンソーシアム


Tags: :IT国際標準, :認証基盤, :クレームベース認証, :OAuth


添付ファイル: filePKCE Flow.jpg 152件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-07-18 (木) 14:33:18 (30d)