「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>機能一覧]] *目次 [#de0c19a8] #contents *概要 [#qb3b638f] v02-x0でリリース予定。 **内容 [#c65fb68b] -Apache Cordovaのテンプレート -SPAアプリケーションをホストする。 **ニーズ [#g591527d] -既存WebアプリにWebAPIを追加し、フロントエンドにデータ提供を行う。 --優れたUXを提供するフロントエンドが求められている。 --既存Webアプリにスマホ・NativeのUIをpluginさせたい。 -そんな開発を迅速化する、Hybridアプリ開発用のCordovaテンプレート --テンプレート化 --plugin検証 --様々なバックエンドと連携。 ---IdMaaS機能(認証・決済, etc.) ---mBaaS機能(ストレージ, プッシュ通知, etc.) *機能 [#n924e654] **適切な設定 [#k8528288] ***ホワイトリスト [#q1dfdf6a] Cordovaの機能にある。 ***[[Content-Security-Policy>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Content-Security-Policy]] [#qf13e447] **Nativeアクセス(plugin) [#jb210b87] Cordovaの機能にある。 ***プッシュ通知 [#j1b9f032] -phonegap-plugin-push -プッシュ通知サービスと連携 ***地理位置情報 [#xbad2a0d] -cordova-plugin-geolocation -GPSサービスと連携 **認証 [#r9eeaedc] ***UXの統一 [#qf794bdd] すべての認証を[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentication Site)]]経由で行う。 -アプリ --Webアプリ --スマホ・Native or Hybrid -プロトコル --OAuth2.0 --OpenID Connect --Financial API (FAPI) ***セキュリティ要件 [#d50e0d69] -UserAgentでOAuth2のTokenを取得するベスト・プラクティス - マイクロソフト系技術情報 Wiki > スマホ~ 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 ***Tokenの保管方法 [#e789d518] -Web Storage: セッショントークンのマシな手段~ cookieとセキュリティ面を比較してみる | インフラ・ミドルウェア | POSTD~ http://postd.cc/web-storage-the-lesser-evil-for-session-tokens/ ***ニーズ [#x37e3b47] この辺(フロントエンドの認証)のニーズは高いと思われる。 -VS tools for Cordovaのpluginのトップも、ADALになっている。 -また、以下のような、Webページも存在するので、 --Androidアプリ→ブラウザ起動→WEBサイトでサインイン処理~ →URLスキームでアプリを再起動、そして指定したActivityに戻ってくる方法 - Qiita~ https://qiita.com/f-aoyama/items/07ecbefa54eefd62406d *サポート [#e90956c0] **デプロイ、ストア登録手順の整備 [#f4c883a9] ***Android [#t895ac39] ***iOS [#f679addd] **標準的?pluginの検証 [#v74e9f3b] ***既定で有効 [#a1f005be] -cordova-plugin-whitelist ***[[How to>#j607d396]] [#id199b3d] -cordova-plugin-inappbrowser -cordova-plugin-customurlscheme -cordova-universal-links-plugin *How to [#j607d396] **リンクを外部ブラウザで開く [#k90aabe3] 既定では、 -httpが無いとWebView内部で開く -httpが有ると外部ブラウザで開く ***参考 [#if0819fc] -PhoneGap/Cordovaでの外部サイトリンク~ 内部表示/アプリ内ブラウザ/標準のブラウザ - Qiita~ https://qiita.com/tsunet111/items/272f3e052c332ddf9b9d **外部ブラウザからNativeに遷移 [#x3de6a6c] Nativeには、Hybrid(Cordova)を含む。 -[[Private-Use URI Scheme Redirection>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Private-Use%20URI%20Scheme%20Redirection]]で外部ブラウザからNative(Hybrid)に戻れる。 -[[Claimed Https Scheme URI Redirection>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Claimed%20Https%20Scheme%20URI%20Redirection]]で外部ブラウザからNative(Hybrid)に戻れる。 -Native(Hybrid)側から、外部ブラウザで指定したURLを取得可能。 ***cordova-plugin-customurlscheme [#ya159ea5] [[Private-Use URI Scheme Redirection>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Private-Use%20URI%20Scheme%20Redirection]]のために~ 「cordova-plugin-customurlscheme」というpluginが利用できるが、~ 「Private-Use URI Scheme上書き攻撃」があるので、[[OAuth PKCE>https://techinfoofmicrosofttech.osscons.jp/index.php?OAuth%20PKCE]]を使用する必要がある。 ***cordova-universal-links-plugin [#ve4b09e0] -iOS9 および Android M 以上の、[[Claimed Https Scheme URI Redirection>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Claimed%20Https%20Scheme%20URI%20Redirection]]を使用する。 -これには、cordova-universal-links-pluginというpluginが利用できそう。 ***参考 [#m0bdd50b] -cordova-plugin-customurlscheme~ https://github.com/EddyVerbruggen/Custom-URL-scheme --Cordova tips - Custom URL scheme に対応させよう | phiary~ http://phiary.me/cordova-tips-custom-url-scheme/ ---pluginを追加する。 cordova plugin add cordova-plugin-customurlscheme --variable URL_SCHEME=hoge --save ---urlを受け取る。 function handleOpenURL(url) { setTimeout(function() { alert("received url: " + url); }, 0); } --Sencha Touch、iOS、Cordova で URL スキームを使用 « 株式会社ゼノフィ~ https://www.xenophy.com/sencha-blog/12234 ---Using URL Schemes with Sencha Touch, iOS, and Cordova | Sencha.com~ https://www.sencha.com/blog/using-url-schemes-with-sencha-touch-ios-and-cordova/ --EddyVerbruggen/Custom-URL-scheme: ---Launch your Cordova/PhoneGap app by a Custom URL scheme like mycoolapp://~ https://github.com/EddyVerbruggen/Custom-URL-scheme <gap:plugin name="cordova-plugin-customurlscheme" source="npm"> <param name="URL_SCHEME" value="XXXX" /> </gap:plugin> ---Plugin won't install via Visual Studio · Issue #215~ https://github.com/EddyVerbruggen/Custom-URL-scheme/issues/215 <vs:plugin name="cordova-plugin-customurlscheme"> <param name="URL_SCHEME" value="XXXX" /> </vs:plugin> ---上記のvalue部に大文字を指定すると上手く動かないので要注意。 -cordova-universal-links-plugin~ https://github.com/nordnet/cordova-universal-links-plugin *参考 [#d342b880] **osscons.jp [#u3e64709] ***マイクロソフト系技術情報 Wiki [#k10ada62] -Visual Studio+Apache Cordova~ https://techinfoofmicrosofttech.osscons.jp/index.php?Visual%20Studio%EF%BC%8BApache%20Cordova -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 ***.NET 開発基盤部会 Wiki [#d1d53d6e] -スマホ~ https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E3%82%B9%E3%83%9E%E3%83%9B --ハイブリッドアプリ~ 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)~ https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Cordova%20%28PhoneGap%29 -mBaaS~ https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?mBaaS --認証基盤~ https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E8%AA%8D%E8%A8%BC%E5%9F%BA%E7%9B%A4 --外部サービス連携 ---オンライン決済サービス~ https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E6%B1%BA%E6%B8%88%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9 ---プッシュ通知~ https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E3%83%97%E3%83%83%E3%82%B7%E3%83%A5%E9%80%9A%E7%9F%A5 ---位置情報(GPS)~ https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E4%BD%8D%E7%BD%AE%E6%83%85%E5%A0%B1%EF%BC%88GPS%EF%BC%89