- 追加された行はこの色です。
- 削除された行はこの色です。
「[[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-x0でリリース予定。
企画倒れ(Flutterへ)
**内容 [#c65fb68b]
-Apache Cordovaのテンプレート
-SPAアプリケーションをホストする。
-[[Cordova (PhoneGap)>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Cordova%20%28PhoneGap%29]]のテンプレート
-任意のSPAアプリケーションをホストする。
**ニーズ [#g591527d]
-既存WebアプリにWebAPIを追加し、フロントエンドにデータ提供を行う。
--優れたUXを提供するフロントエンドが求められている。
--既存Webアプリにスマホ・NativeのUIをpluginさせたい。
-OAuth2/OIDCアーキテクチャへの準拠
-各種[[Nativeアクセス(plugin)>#jb210b87]]検証
-テンプレート化
-そんな開発を迅速化する、Hybridアプリ開発用のCordovaテンプレート
--テンプレート化
--plugin検証
--様々なバックエンドと連携。
---IdMaaS機能(認証・決済, etc.)
---mBaaS機能(ストレージ, プッシュ通知, etc.)
*詳細 [#b59c8265]
*機能 [#n924e654]
**機能 [#n924e654]
**適切な設定 [#k8528288]
***ホワイトリスト [#q1dfdf6a]
Cordovaの機能にある。
***適切な設定 [#k8528288]
***[[Content-Security-Policy>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Content-Security-Policy]] [#qf13e447]
-ホワイトリスト~
「[[標準的plugin>#v74e9f3b]]」にある。
**Nativeアクセス(plugin) [#jb210b87]
Cordovaの機能にある。
-[[Content-Security-Policy>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Content-Security-Policy]]
***プッシュ通知 [#j1b9f032]
-phonegap-plugin-push
-プッシュ通知サービスと連携
-, etc.
***地理位置情報 [#xbad2a0d]
-cordova-plugin-geolocation
-GPSサービスと連携
***[[Nativeアクセス(plugin)>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Cordova%20-%20Plugin#fde779ca]] [#jb210b87]
**認証 [#r9eeaedc]
***UXの統一 [#qf794bdd]
すべての認証を[[汎用認証サイト>汎用認証サイト(Multi-purpose Authentication Site)]]経由で行う。
**サポート [#e90956c0]
-アプリ
--Webアプリ
--スマホ・Native or Hybrid
***[[標準的pluginの検証>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Cordova%20-%20Plugin#yb1ec323]] [#v74e9f3b]
-プロトコル
--OAuth2.0
--OpenID Connect
--Financial API (FAPI)
***[[デプロイ、ストア登録手順の整備>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]
***セキュリティ要件 [#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]
cordova-plugin-customurlschemeというpluginが利用できるが、~
[[Private-Use URI Scheme Redirection>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Private-Use%20URI%20Scheme%20Redirection]]に「Private-Use URI Scheme上書き攻撃」~
があるので、OAuth PKCEを使用する必要がある。
***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>
-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
--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
-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]
***開発基盤部会 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