例: 複数のウェブサイトや複数の Android で認証情報を共有する

複数のウェブサイトと複数の Android アプリでの認証情報の共有を設定するには 次のことを行う必要があります。

  • プライマリ ドメインを指定: メインの参照ポイントとなる URL を 1 つ選択します。 リンクをご覧ください。
  • assetlinks.json ファイルを作成します。
    • プライマリ ドメイン: プライマリ ドメインに、次を含む assetlinks.json ファイルを作成します。 認証情報を共有するすべてのドメインで
    • その他のドメイン: それぞれのドメインに assetlinks.json ファイルを作成します。 それぞれがプライマリドメインにリンクします
  • 各アプリのマニフェストでデジタル アセット リンクを設定する: 各アプリを次のようにセットアップします。 プライマリ ドメインの assetlinks.json ファイルに戻ります。
で確認できます。

この例では、 プライマリ ドメインとして example.com、その他すべてのドメインは リストされたドメインは、認証情報を example.com だけでなく、

次のパッケージ名を持つ 2 つのアプリは、認証情報をすべての ウェブサイト間およびウェブサイト間:

  • com.example.android.myapplication
  • com.example.appname

認証情報の共有を設定する前に、前提条件を満たす必要があります。

これらのウェブサイトと Android アプリ間での認証情報の共有を宣言するには:

  1. 次の内容の assetlinks.json ファイルを作成します。

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.com"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.org"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.net"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://myownpersonaldomain.com"
        }
      },
      {
        "relation" : [
          "delegate_permission/common.get_login_creds"
        ],
        "target" : {
          "namespace" : "android_app",
          "package_name" : "com.example.android.myapplication",
          "sha256_cert_fingerprints" : [ "AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00:AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00"
          ]
        }
      },
      {
        "relation" : [
          "delegate_permission/common.get_login_creds"
        ],
        "target" : {
          "namespace" : "android_app",
          "package_name" : "com.example.appname",
          "sha256_cert_fingerprints" : [ "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF"
          ]
        }
      }
    ]
    
  2. デジタル アセット リンクの JSON ファイルを、対応する既知の 場所を指定します。この例では、 https://example.com/.well-known/assetlinks.json

  3. 次の内容の assetlinks.json ファイルをもう 1 つ作成します。

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "example.com"
        }
      }
    ]
    
  4. このデジタル アセット リンクの JSON ファイルのコピーを次の場所にホストします。 表示されます。この例では、

    • example.org/.well-known/assetlinks.json
    • example.net/.well-known/assetlinks.json
    • mypersonaldomain.com/.well-known/assetlinks.json
  5. 次の行を、次のフォルダにある両方の Android アプリ マニフェスト ファイルに追加します。 <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  6. マニフェストでデジタル アセットのリンクを設定するには、関連付けを宣言します クリックしますassetlinks.json ファイルを指定するオブジェクトを追加する 表示されます。次のような場合があります。

    <string name="asset_statements" translatable="false">
    [{
      \"include\": \"https://example.com/.well-known/assetlinks.json\"
    }]
    </string>
    

これらの手順を完了すると、シームレスな認証情報が正常に設定されます 複数のウェブサイトと Android アプリで共有できます。