- 追加された行はこの色です。
- 削除された行はこの色です。
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>機能一覧]]
-[[戻る>Hybridテンプレート]]
--Cordovaテンプレート
--[[PWAテンプレート]]
*目次 [#de0c19a8]
#contents
*概要 [#qb3b638f]
v02-20でリリース予定。
企画倒れ(Flutterへ)
-Apache Cordovaのテンプレート
-通常のWebアプリケーションやSPAアプリケーションをホストする。
**内容 [#c65fb68b]
-[[Cordova (PhoneGap)>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Cordova%20%28PhoneGap%29]]のテンプレート
-任意のSPAアプリケーションをホストする。
*機能 [#n924e654]
**ホワイトリスト [#q1dfdf6a]
Cordovaの機能にある。
**ニーズ [#g591527d]
-OAuth2/OIDCアーキテクチャへの準拠
-各種[[Nativeアクセス(plugin)>#jb210b87]]検証
-テンプレート化
**ネイティブアクセス(プラグイン) [#jb210b87]
Cordovaの機能にある。
*詳細 [#b59c8265]
***プッシュ通知 [#j1b9f032]
phonegap-plugin-push
**機能 [#n924e654]
**認証 [#r9eeaedc]
***適切な設定 [#k8528288]
***OAuth2.0、OpenID Connect [#rf255654]
[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentication Site)]]と連携して、OAuth2.0、OpenID Connectでサインイン。
-ホワイトリスト~
「[[標準的plugin>#v74e9f3b]]」にある。
***ブラウザ選択 [#w31f786d]
-パスワード・マネージャーに依存していることが多いので、認証時にブラウザ選択可能にする。
-この機能は、ほぼサーバー側に実装が必要になるので、SPAサンプルにこの実装を追加する。
-[[Content-Security-Policy>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Content-Security-Policy]]
-ログイン前
--ログイン画面
---要求がログイン画面にリダイレクトされた際、UserAgentを判別、Cordovaの場合、~
ログイン画面で当該URLでブラウザを開き直せるようなリンクを表示する(この際、QueryStringにflagを追加)。
---このリンクで、ブラウザ選択して開き、ログイン画面を再表示(この際、QueryStringのflagをSessionに保存)
--認可エンドポイント
---ログイン完了後、認可エンドポイントで、ClaimにSessionのflag情報を格納
---認可エンドポイントを通過して、redirectエンドポイントに遷移。
-, etc.
-ログイン後
--redirectエンドポイント(response_type=code)
---サーバー側でcodeをaccess_tokenに変換、access_token中のflagを確認。
---flagがあって、現在のUserAgentがブラウザの場合、Redirectで[[ブラウザからネイティブ(ハイブリッド)に戻る>#x3de6a6c]]
--redirectエンドポイント(response_type=token)
---クライアント側でaccess_token中のflagを確認。
---flagがあって、現在のUserAgentがブラウザの場合、JavaScriptで[[ブラウザからネイティブ(ハイブリッド)に戻る>#x3de6a6c]]
***[[Nativeアクセス(plugin)>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Cordova%20-%20Plugin#fde779ca]] [#jb210b87]
*サポート [#e90956c0]
**サポート [#e90956c0]
**デプロイ、ストア登録手順の整備 [#f4c883a9]
***[[標準的pluginの検証>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Cordova%20-%20Plugin#yb1ec323]] [#v74e9f3b]
***Android [#t895ac39]
***[[デプロイ、ストア登録手順の整備>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E3%82%B9%E3%83%9E%E3%83%9B%E3%83%8D%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96%E3%81%AE%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4]] [#f4c883a9]
***iOS [#f679addd]
*参考 [#d342b880]
**標準的プラグインの検証 [#v74e9f3b]
**osscons.jp [#u3e64709]
***Android [#mdfb18ab]
***マイクロソフト系技術情報 Wiki [#k10ada62]
-Visual Studio+Apache Cordova~
https://techinfoofmicrosofttech.osscons.jp/index.php?Visual%20Studio%EF%BC%8BApache%20Cordova
--Cordova Tools Extension~
https://techinfoofmicrosofttech.osscons.jp/index.php?Cordova%20Tools%20Extension
--Visual Studio Tools for Apache Cordova~
https://techinfoofmicrosofttech.osscons.jp/index.php?Visual%20Studio%20Tools%20for%20Apache%20Cordova
***iOS [#l7d7c79c]
-UserAgentでOAuth2のTokenを取得するベスト・プラクティス > スマホ~
https://techinfoofmicrosofttech.osscons.jp/index.php?UserAgent%E3%81%A7OAuth2%E3%81%AEToken%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E3%83%99%E3%82%B9%E3%83%88%E3%83%BB%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B9#m0aacf50
*参考 [#d342b880]
**osscons.jp [#u3e64709]
-スマホ - .NET 開発基盤部会 Wiki~
***開発基盤部会 Wiki [#d1d53d6e]
-スマホ~
https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E3%82%B9%E3%83%9E%E3%83%9B
--ハイブリッドアプリ - .NET 開発基盤部会 Wiki~
--ハイブリッドアプリ~
https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E3%83%8F%E3%82%A4%E3%83%96%E3%83%AA%E3%83%83%E3%83%89%E3%82%A2%E3%83%97%E3%83%AA
---Cordova (PhoneGap) - .NET 開発基盤部会 Wiki~
---Cordova (PhoneGap)~
https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Cordova%20%28PhoneGap%29
-Visual Studio+Apache Cordova - マイクロソフト系技術情報 Wiki~
https://techinfoofmicrosofttech.osscons.jp/index.php?Visual%20Studio%EF%BC%8BApache%20Cordova
**cordovaでuseragentを書き換える。 [#l5954d08]
config.xmlに設定ができる模様。
-OverrideUserAgent
-AppendUserAgent
**ブラウザからネイティブ(ハイブリッド)に遷移 [#x3de6a6c]
-ブラウザからネイティブ(ハイブリッド)に遷移
--Custom URL Schemeでブラウザからネイティブ(ハイブリッド)に戻れる。
--Parameterをブラウザからネイティブ(ハイブリッド)に受け渡す。
---Token
---ReturnUrl
-参考
--cordova-plugin-customurlschemeというプラグインが利用できそう。
---Cordova tips - Custom URL scheme に対応させよう | phiary~
http://phiary.me/cordova-tips-custom-url-scheme/