範例:在多個網站和多個 Android 應用程式之間共用憑證

為多個網站和多個 Android 應用程式設定憑證共用功能 您必須:

  • 指定主網域:選擇一個網址做為主要參考資料 。
  • 建立 assetlinks.json 檔案
    • 主網域:在主網域中建立 assetlinks.json 檔案 列出所有網域共用憑證
    • 其他網域:互相建立 assetlinks.json 檔案 網域,每個連結會連回主要網域。
  • 在每個應用程式的資訊清單中設定數位資產連結:設定各個應用程式 連結回主網域中的 assetlinks.json 檔案。
,瞭解如何調查及移除這項存取權。

在以下範例中 example.com 做為主網域,而所有其他網域 列出的網域共用憑證 example.com 和整個網域

具有下列套件名稱的兩個應用程式也會與所有供應商共用憑證 和第三方環境:

  • 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. 在對應的知名資料庫內代管 Digital Asset Links JSON 檔案 或是放在主要網域上,在本例中: https://example.com/.well-known/assetlinks.json

  3. 建立另一個含有以下內容的 assetlinks.json 檔案:

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "example.com"
        }
      }
    ]
    
  4. 這個 Digital Asset Links 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 應用程式共用資訊