「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †概要 †Nativeアプリ(スマホ)からのOAuth 2.0 は、
※ なお、Hybridアプリは、この仕様の目的ではNativeアプリ(スマホ)と同等に扱う。 詳細 †外部Webブラウザを使用した方が良い理由 †外部Webブラウザを使用すると、
外部Webブラウザ以外を使用してはいけない理由 †偽造Clientの可能性があり、偽造Clientによって、 IdPのアカウントを盗むことができる。 †IdPのアカウントをClientが盗む事ができる。 IdPのSessionを盗むことができる。 †IdPのSession cookieをClientが盗む事ができ、 偽造Clientは拒否されることがある。 †Googleなどが提供するOAuth2 / OIDCのAuthorization Server(IdP & STS) 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の可能性を考慮する。 †
動的RP登録(RFC 7591)について。 †Nativeアプリ(スマホ)は、Publicクライアントであるため、
プラットフォーム独自の有用な機能 †iOS †認可リクエスト送信 †
認可レスポンス受信 †
Android †認可リクエスト送信 †
認可レスポンス受信 †
Windows(UWP) †認可リクエスト送信 †- 認可レスポンス受信 †
macOS †認可リクエスト送信 †
認可レスポンス受信 †
Linux †認可リクエスト送信 †
認可レスポンス受信 †
WebView?代替 †OAuth2/OIDCの認証にWebView?はダメっぽい。
Android向け †
iOS向け †
参考 †
仕様 †
OAuth PKCE †OAuth 2.0 for Browser-Based Apps †AppAuth †当該ベストプラクティスの採用を助ける Tags: :IT国際標準, :認証基盤, :クレームベース認証, :OAuth |