允許 Chrome 跨關聯網站共用登入憑證

如果您使用的多個網域共用相同的帳戶管理後端,您現在也可以將這些網域互相建立關聯,讓使用者只儲存憑證一次,並請 Chrome 密碼管理工具建議這些網域給任何相關聯的網站。

Milica Mihajlija
Milica Mihajlija

除了以下兩種情況,Chrome 的密碼管理工具也會為含有已儲存憑證的網站自動填入憑證:

  1. 當兩個網站有「相同網站」關係時,如果在某個網站上儲存了至少一個憑證,Chrome 就會顯示另一個網站的自動填入憑證。舉例來說,由於 www.example.comm.example.com 是相同的網站,因此 Chrome 可以在兩個網站之間共用已儲存的憑證,並將已儲存的密碼建議給另一個網站。
  2. 當開發人員將 Android 應用程式與使用相同憑證的網站建立關聯時,Chrome 可以建議該網站的 Android 憑證。應用程式與使用 Digital Asset Links (DAL) 的網站建立關聯。

您現在也可以建立跨網站關係中的網站關聯,讓使用者只需儲存一次憑證,再讓密碼管理工具建議將這組憑證提供給任何關聯網站。

如果您採用的多個網域共用同一個帳戶管理後端 (例如 https://www.example.comhttps://www.example.co.uk),從 91 版開始),即可讓 Chrome 建議儲存至 Digital Asset Links 相關網域的密碼。

如要建立 DAL 關聯,開發人員必須在各個網域的 /.well-known/assetlinks.json 中,放置符合 DAL 語法的 JSON 檔案。

必備條件

  1. 請使用 Chrome 91 以上版本。
  2. 啟用 chrome://flags#filling-across-affiliated-websites 的標記。
  3. 確認 chrome://settings/passwords 中的「顯示儲存密碼的選項」已開啟。
  4. 確認您網站的登入網域可透過 HTTPS 存取。

為兩個網站建立關聯

  1. 如要宣告網站 (例如 https://www.example.com,) 可與 https://www.example.co.uk 共用憑證,請建立名為 assetlinks.json 的檔案,其中含有以下內容:

    [{
      "relation": ["delegate_permission/common.get_login_creds"],
      "target": {
        "namespace": "web",
        "site": "https://www.example.com"
      }
     },
    {
      "relation": ["delegate_permission/common.get_login_creds"],
      "target": {
        "namespace": "web",
        "site": "https://www.example.co.uk"
      }
    }]
    

    relation 欄位是一或多個字串陣列,用來描述網站之間的關係。為了讓網站共用登入憑證,請指定 delegate_permission/common.get_login_creds 字串。target 欄位是一種物件,用於指定宣告所適用的資產。下列欄位可用來識別網站:

    namespace 網站必須為 web
    site 網站網址,格式為 https://domain[:optional_port],例如 https://www.example.com

    詳情請參閱 Digital Asset Links 參考資料

  2. 請在登入網域的以下位置代管 Digital Asset Links JSON 檔案:https://domain[:optional_port]/.well-known/assetlinks.json

    在這個範例中,網域為 www.example.com,因此 JSON 檔案應在 https://www.example.com/.well-known/assetlinks.json 託管。

    Digital Asset Links 檔案的 MIME 類型必須為 JSON。確認伺服器會在回應中傳送 Content-Type: application/json 標頭。

  3. 如要在兩個網站中宣告關聯,請同時在 https://www.example.co.uk/.well-known/assetlinks.json 代管 assetlinks.json

    [{
      "relation": ["delegate_permission/common.get_login_creds"],
      "target": {
        "namespace": "web",
        "site": "https://www.example.com"
      }
     },
    {
      "relation": ["delegate_permission/common.get_login_creds"],
      "target": {
        "namespace": "web",
        "site": "https://www.example.co.uk"
      }
    }]
    
  4. 確保主機允許 Google 擷取您的 Digital Asset Links 檔案。如果您有 robots.txt 檔案,必須允許 Googlebot 代理程式擷取 /.well-known/assetlinks.json。大多數網站會直接允許所有自動化代理程式擷取 /.well-known/ 路徑中的檔案,讓其他服務存取這些檔案內的中繼資料:

    User-agent: *
    Allow: /.well-known/
    

建立多個網站間的關聯

您可以在 Digital Asset Links 檔案中指定每個網站,藉此連結多個網站。舉例來說,如要建立 example.comexample.co.uk,example.co.jp 的關聯,請在 assetlinks.json JSON 檔案中指定所有網站,並透過 https://EXAMPLE_DOMAIN_NAME/.well-known/assetlinks.json 每個網站代管。

[{
     "relation":[
        "delegate_permission/common.get_login_creds"
     ],
     "target":{
        "site":"https://www.example.com",
        "namespace":"web"
     }
  },
  {
     "relation":[
        "delegate_permission/common.get_login_creds"
     ],
     "target":{
        "site":"https://www.example.co.uk",
        "namespace":"web"
     }
  },
  {
     "relation":[
        "delegate_permission/common.get_login_creds"
     ],
     "target":{
        "site":"https://www.example.co.jp",
        "namespace":"web"
     }
  }]