クライアント用の複数のホワイトラベル ソリューションを備えたアプリケーションがあります。つまり、クライアントは独自のドメインでホストされています。
Cordova アプリが 1 つあり、ユーザーがこのアプリを使用してこれらすべてのサイトにアクセスできるようにしたいのですが、新しいクライアントに署名するたびに再デプロイする必要はありません。
- URLまたは何かを介してホワイトリストをロードする方法はありますか? これは、データベースを通じてその場でドメインを追加できることを意味します。
- すべての URL をホワイトリストに登録すると、大きなセキュリティ リスクがありますか?
https://cordova.apache.org/docs/en/latest/guide/appdev/whitelist/
例
明確にするために、ホワイトリスト設定を起動するたびにロードする場所を指すことができる URL のようなものがあればいいのにと思います。
http://myexampledomain.com/whitelist.config
<allow-navigation href="*.myexampledomain.com/*" />
<allow-navigation href="*.subdomain.someclientdomain.com/*" />
<allow-navigation href="*.subdomain.someclientdomainb.com/" />
<allow-navigation href="*.subdomain.someclientdomainc.com/" />
...このファイルは、起動時に自動的にロードされます。
JS ベースのプラグインの作成
現在の解決策がない場合、(JavaScript ベースの) Cordova プラグインを作成することでこれを安全に行うことは可能ですか? ロードしようとしている URL がホワイトリスト外にある場合に手動でリダイレクトするようなことはありませんか?
これは、Cordova ですべてをホワイトリストに登録し、独自のプラグインを使用して独自のホワイトリスト以外のすべてをブロックすることを意味します。
(データベースが侵害された場合、これは安全ではないことは承知していますが、その場合、一般的にはより大きな問題が発生します。私たちのアプリは楽しみのためのものであり、重要な機能に依存していません)