すべてのプロダクト
Search
ドキュメントセンター

Mobile Platform as a Service:JSAPI 認証の設定

最終更新日:Jan 17, 2025

mPaaS では、すべての JavaScript API(JSAPI)に対してアクセス制御を追加することをお勧めします。アクセス制御を追加するためにプロバイダーを設定できます。

  1. プロバイダーを制御する権限をカスタマイズします。

    public class H5JSApiPermissionProviderImpl implements H5JSApiPermissionProvider {
        @Override
        public boolean hasDomainPermission(String jsapi, String url) {
            // このメソッドは、すべての URL からの JSAPI リクエストを検証し、安全な URL からのリクエストのみを許可します。値 true は JSAPI を呼び出すことができることを示します。値 false は JSAPI を呼び出すことができないことを示します。
            // 注: 次のコードは参照用です。必要に応じて URL と JSAPI を検証できます。
            // NullPointerException を防ぐために、JSAPI、URL、および URI のパラメーターが null かどうかを確認する必要があります。
            Uri uri = Uri.parse(url);
            String domain = uri.getHost();
            String scheme = uri.getScheme();
            if (!TextUtils.isEmpty(domain) && domain.equals("www.example.com") && "https".equals(scheme)) {
                return true;
            } else {
                return false;
            }
        }
    
        @Override
        public boolean hasThisPermission(String jsapi, String url) {
    // デフォルトでは値 false が返されます。
            return false;
        }
    }
    重要

    URL は完全一致である必要があります。少なくとも URI クラスのスキームとホスト情報は一致する必要があります。正規表現によるマッチングは使用しないか、注意して使用してください。 contains、startsWith、endsWith、indexOf などの不正確な関数の使用は避けてください。

  2. mPaaS が初期化された後、HTML5 コンテナが呼び出される前にプロバイダーを設定します。

    H5Utils.setProvider(H5JSApiPermissionProvider.class.getName(), new H5JSApiPermissionProviderImpl());