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

目次

概要

Nativeアプリ(スマホ)からのOAuth 2.0 は、

※ なお、Hybridアプリは、この仕様の目的ではNativeアプリ(スマホ)と同等に扱う。
※ また、このページでは、OAuth 2.0 の一般的な考慮事項と重複する部分は割愛する。

詳細

外部Webブラウザ以外を使用してはいけない理由

偽造Clientの可能性があり、偽造Clientによって、

IdPのアカウントを盗むことができる。

IdPのアカウントをClientが盗む事ができる。

IdPのSessionを盗むことができる。

IdPのSession cookieをClientが盗む事ができ、
Sessionが有効な間、SSO可能な状態が持続する。

Nativeアプリ(スマホ)と外部Webブラウザの連携方法

Private-Use URI Scheme Redirection

Claimed Https Scheme URI Redirection

Loopback Interface Redirection

結論

使用するフロー

Implicitは使用できない。

Private-Use URI Scheme上書き攻撃などの傍受攻撃からtokenを保護できないためNG。

Authorization Codeは、より実用的。

Nativeにtokenを渡せないが、Implicitより実用的なオプション。

サポートがあれば、OAuth PKCEを使う。

Client認証について。

Client認証できない。

client_id、client_secretを持たないため。

自動再認証は抑止する。

Client認証できないので、自動再認証は抑止する。

偽造Clientの可能性を考慮する。

動的RP登録(RFC 7591)について。

Nativeアプリ(スマホ)は、Publicクライアントであるため、Dynamic Client Registrationを行う場合は、

プラットフォーム独自の有用な機能

iOS

認可リクエスト送信

認可レスポンス受信

Android

認可リクエスト送信

認可レスポンス受信

Windows(UWP)

認可リクエスト送信

認可レスポンス受信

macOS

認可リクエスト送信

認可レスポンス受信

Linux

認可リクエスト送信

認可レスポンス受信

参考

WebView?代替

OAuth2/OIDCの認証にWebView?はダメっぽい。

Android向け

iOS向け

仕様

関連

OAuth PKCE


Tags: :認証基盤, :クレームベース認証, :OAuth


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS