AppAuth
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>UserAgentでOAuth2のTokenを取得するベスト・プラク...
--AppAuth
--[[OAuth 2.0 for Native Apps]]
--[[OAuth 2.0 for Browser-Based Apps]]
* 目次 [#td3471e2]
#contents
*概要 [#f27dbf87]
-[[OAuth]]2, [[OIDC>OpenID Connect]]の下記ベストプラクテ...
--[[OAuth 2.0 for Native Apps]]
--[[OAuth 2.0 for Browser-Based Apps]]
-OpenID Foundationが後援する各Native App環境をサポートす...
--iOS, macOS
--Android
--Native JS
-Native AppへのWebView埋め込みを遠ざけ、代わりに以下の使...
--外部エージェント(システムブラウザ)
--アプリ内ブラウザタブ(SFAuthenticationSessionやカスタム...
-[[OAuth]]2, [[OIDC>OpenID Connect]]仕様を超えた[[OAuth P...
*詳細 [#afc5a6c3]
**基本的な処理 [#t73d4289]
以下のような処理を実装できる。
*** AppAuth for Android [#t715adb5]
-認証・認可を要求する
--認証・認可に使用するサーバーの情報を取得する。
--アプリ内ブラウザタブを使って認証・認可のリクエストを行...
-認証・認可の結果を受け取る
--カスタムURIスキームへのリダイレクトを介して認証・認可結...
--サーバーから Access Token、Refresh Tokenを取得する。
--Access Token、Refresh Tokenを永続データとして保管する
--一度サインインを完了した後はその状態を維持するため、~
Access Token、Refresh Tokenを永続データとして保管する。
--Token漏洩リスクを軽減するため、暗号化を行なうことが望ま...
-バックエンドAPIにアクセスする~
Access Tokenを Authorization: Bearer ヘッダに付けてAPIに...
-Access Tokenを
--更新する~
Access Tokenの有効期限が切れている場合は、~
Refresh Tokenを使ってサーバーから新しいAccess Tokenを取得...
--無効化する
---Access Token、Refresh Tokenをアプリ内から破棄する。
---この時、サーバー側でも無効化することが望ましい(Revoca...
***AppAuth for iOS and macOS [#w24da2f4]
恐らく「[[AppAuth for Android>#t715adb5]]」と同じ。
***AppAuth for JS [#r9c27cce]
-以下フレームワークを使用するアプリケーションで~
使用するように設計されているらしい。
--Webアプリ
--Node.js CLIアプリケーション
--Chromeアプリ
--Electronなど
-Native AppとBrowser Appの双方をサポート~
Browser App(SPA)向けの場合、ベストプラクティスが異なる。
--Refresh Tokenをフロントチャネルで返さない。
--Access Tokenの永続化場所が、Web Storageなどになる。
**OIDC対応 [#o806e409]
***JWK処理 [#nb15fc42]
id_tokenの署名検証に必要になる。
-[[AppAuth for Android>#t715adb5]]、[[AppAuth for iOS and...
-ただし、[[AppAuth for JS>#r9c27cce]]に、JWK処理は発見で...
**メリット [#g8cd7f5a]
AppAuthのメリットは、
***仕様への準拠 [#p7c2a63f]
-OAuth / OIDCに準拠している。
-IdP各社が提供するSDKは、OAuth / OIDCに準拠していない。
--https://twitter.com/nov/status/1151472283048800258
--https://twitter.com/nov/status/1151472752756264967
-確かにSQLも些細な方言を混ぜて~
クロスプラットフォームを困難にしている。
***ベストプラクティスへの準拠 [#ie3c27da]
-ベストプラクティスに準拠しているので、~
自身のコードの信頼性を主張するのに苦労しなくて済みそう。
-特に、AppAuth-JSは、
--Hybrid(Native App)
--SPA(Browser App)
>の両方のベストプラクティスに対応していそう。
*参考 [#l8383f3b]
-OpenID~
https://github.com/openid
-AppAuth~
https://appauth.io/
-Kotlin と AppAuth for Android でネイティブアプリの実装サ...
https://paonejp.github.io/2017/11/04/making_kotlin_appaut...
**AppAuth for Android [#j088ca6a]
https://github.com/openid/AppAuth-Android
***Demo App [#q3c1ff76]
https://github.com/openid/AppAuth-Android/tree/master/app
**AppAuth for iOS and macOS [#y3fbbd12]
https://github.com/openid/AppAuth-iOS
***Examples [#ba476c64]
https://github.com/openid/AppAuth-iOS/tree/master/Examples
**AppAuth for JS [#t2d2f139]
https://github.com/openid/AppAuth-JS
***Demo App [#f0c9176a]
-https://github.com/openid/AppAuth-JS/tree/master/app
-https://github.com/googlesamples/appauth-js-electron-sam...
----
Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>UserAgentでOAuth2のTokenを取得するベスト・プラク...
--AppAuth
--[[OAuth 2.0 for Native Apps]]
--[[OAuth 2.0 for Browser-Based Apps]]
* 目次 [#td3471e2]
#contents
*概要 [#f27dbf87]
-[[OAuth]]2, [[OIDC>OpenID Connect]]の下記ベストプラクテ...
--[[OAuth 2.0 for Native Apps]]
--[[OAuth 2.0 for Browser-Based Apps]]
-OpenID Foundationが後援する各Native App環境をサポートす...
--iOS, macOS
--Android
--Native JS
-Native AppへのWebView埋め込みを遠ざけ、代わりに以下の使...
--外部エージェント(システムブラウザ)
--アプリ内ブラウザタブ(SFAuthenticationSessionやカスタム...
-[[OAuth]]2, [[OIDC>OpenID Connect]]仕様を超えた[[OAuth P...
*詳細 [#afc5a6c3]
**基本的な処理 [#t73d4289]
以下のような処理を実装できる。
*** AppAuth for Android [#t715adb5]
-認証・認可を要求する
--認証・認可に使用するサーバーの情報を取得する。
--アプリ内ブラウザタブを使って認証・認可のリクエストを行...
-認証・認可の結果を受け取る
--カスタムURIスキームへのリダイレクトを介して認証・認可結...
--サーバーから Access Token、Refresh Tokenを取得する。
--Access Token、Refresh Tokenを永続データとして保管する
--一度サインインを完了した後はその状態を維持するため、~
Access Token、Refresh Tokenを永続データとして保管する。
--Token漏洩リスクを軽減するため、暗号化を行なうことが望ま...
-バックエンドAPIにアクセスする~
Access Tokenを Authorization: Bearer ヘッダに付けてAPIに...
-Access Tokenを
--更新する~
Access Tokenの有効期限が切れている場合は、~
Refresh Tokenを使ってサーバーから新しいAccess Tokenを取得...
--無効化する
---Access Token、Refresh Tokenをアプリ内から破棄する。
---この時、サーバー側でも無効化することが望ましい(Revoca...
***AppAuth for iOS and macOS [#w24da2f4]
恐らく「[[AppAuth for Android>#t715adb5]]」と同じ。
***AppAuth for JS [#r9c27cce]
-以下フレームワークを使用するアプリケーションで~
使用するように設計されているらしい。
--Webアプリ
--Node.js CLIアプリケーション
--Chromeアプリ
--Electronなど
-Native AppとBrowser Appの双方をサポート~
Browser App(SPA)向けの場合、ベストプラクティスが異なる。
--Refresh Tokenをフロントチャネルで返さない。
--Access Tokenの永続化場所が、Web Storageなどになる。
**OIDC対応 [#o806e409]
***JWK処理 [#nb15fc42]
id_tokenの署名検証に必要になる。
-[[AppAuth for Android>#t715adb5]]、[[AppAuth for iOS and...
-ただし、[[AppAuth for JS>#r9c27cce]]に、JWK処理は発見で...
**メリット [#g8cd7f5a]
AppAuthのメリットは、
***仕様への準拠 [#p7c2a63f]
-OAuth / OIDCに準拠している。
-IdP各社が提供するSDKは、OAuth / OIDCに準拠していない。
--https://twitter.com/nov/status/1151472283048800258
--https://twitter.com/nov/status/1151472752756264967
-確かにSQLも些細な方言を混ぜて~
クロスプラットフォームを困難にしている。
***ベストプラクティスへの準拠 [#ie3c27da]
-ベストプラクティスに準拠しているので、~
自身のコードの信頼性を主張するのに苦労しなくて済みそう。
-特に、AppAuth-JSは、
--Hybrid(Native App)
--SPA(Browser App)
>の両方のベストプラクティスに対応していそう。
*参考 [#l8383f3b]
-OpenID~
https://github.com/openid
-AppAuth~
https://appauth.io/
-Kotlin と AppAuth for Android でネイティブアプリの実装サ...
https://paonejp.github.io/2017/11/04/making_kotlin_appaut...
**AppAuth for Android [#j088ca6a]
https://github.com/openid/AppAuth-Android
***Demo App [#q3c1ff76]
https://github.com/openid/AppAuth-Android/tree/master/app
**AppAuth for iOS and macOS [#y3fbbd12]
https://github.com/openid/AppAuth-iOS
***Examples [#ba476c64]
https://github.com/openid/AppAuth-iOS/tree/master/Examples
**AppAuth for JS [#t2d2f139]
https://github.com/openid/AppAuth-JS
***Demo App [#f0c9176a]
-https://github.com/openid/AppAuth-JS/tree/master/app
-https://github.com/googlesamples/appauth-js-electron-sam...
----
Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認...
ページ名: