示例:跨多个网站无缝共享凭据

如需设置在多个网站中共享凭据,请执行以下操作:

  • 指定主网域:选择一个网域作为关联的主要参考点。
  • 创建和托管 assetlinks.json 文件
    • 主网域:在主网域上创建并托管 assetlinks.json 文件,其中列出共享凭据的所有网域。
    • 其他网域:在每个其他网域上创建并托管一个 assetlinks.json 文件,每个文件都链接回主网域。
并非如此

在以下示例中,我们将 example.com 指定为主网域。所有其他列出的网域都与 example.com 和彼此共享凭据。

在设置凭据共享之前,请确保您已满足前提条件

如需声明在这些网站之间共享凭据,请执行以下操作:

  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"
          }
        }
      ]
    
  2. 将 Digital Asset Links JSON 文件托管在主网址的以下位置:https://example.com/.well-known/assetlinks.json

  3. 为引用主网域的 assetlinks.json 文件的其他网域创建简化的 assetlinks.json 文件:

      [
        {
          "relation": ["delegate_permission/common.get_login_creds"],
          "target": {
            "namespace": "web",
            "site": "https://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

按照上述步骤操作后,您已成功设置在多个网站之间无缝共享凭据。现在,所有列出的网站都可以共享凭据。

这种方法简化了向无缝凭据共享网络添加新网站的过程。

向凭据共享网络添加新网站

要向凭据共享网络添加新网站,请执行以下操作:

  1. 更新托管在主网域(在本例中为 https://example.com)上的 assetlinks.json 文件,将包含新网域网址的新语句添加到列表中:

      ...
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": https://NEW_DOMAIN
        }
      }
      ...
    

    其中 NEW_DOMAIN 是新网域名称。

  2. 在新网域上创建并托管一个 assetlinks.json 文件,将其链接回主网域(在本例中为 https://example.com),并添加以下内容:

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

所有其他 assetlinks.json 文件保持不变。这种方法有助于提高代码可重复使用性,并降低更新期间出错的可能性。