Chrome で関連サイト間でログイン認証情報を共有できるようにします

同じアカウント管理バックエンドを共有する複数のドメインを使用している場合、それらのドメインを相互に関連付けて、ユーザーが認証情報を 1 回保存すれば、Chrome パスワード マネージャーから関連ウェブサイトへの認証情報の提示ができるようになります。

Chrome のパスワード マネージャーは、保存されている認証情報を持つサイトの認証情報をすでに自動入力しています。また、次の 2 つのケースでも同様です。

  1. 2 つのサイトが同じサイトの関係にある場合は、一方のサイトに認証情報が 1 つ以上保存されていれば、もう一方のサイトの認証情報が自動入力されます。たとえば、www.example.comm.example.com は同じサイトであるため、Chrome は保存された認証情報を 2 つのサイト間で共有し、保存されたパスワードを別のサイトに提案できます。
  2. デベロッパーが同じ認証情報を使用するサイトに Android アプリを関連付けると、Chrome はそのサイトで Android 認証情報の候補を表示できるようになります。アプリは、デジタル アセット リンク(DAL)を使用してサイトに関連付けられます。

ウェブサイトをクロスサイト関係に関連付けて、ユーザーが認証情報を 1 回だけ保存できるようにしました。これにより、パスワード マネージャーが関連付けられたウェブサイトに対して認証情報を提案できるようになります。

同じアカウント管理バックエンドを共有する複数のドメイン(バージョン 91 以降、https://www.example.comhttps://www.example.co.uk) など)を使用する場合、Chrome で、デジタル アセット リンクに関連付けられたドメインに保存されたパスワードの候補を表示できます。

DAL の関連付けを行うには、DAL 構文に従う JSON ファイルを各ドメインの /.well-known/assetlinks.json に配置する必要があります。

前提条件

  1. Chrome 91 以降を使用している。
  2. chrome://flags#filling-across-affiliated-websites でフラグを有効にします。
  3. chrome://settings/passwords で [パスワードを保存できるようにする] がオンになっていることを確認します。
  4. ウェブサイトのログイン ドメインが HTTPS を介してアクセスできることを確認します。

2 つのウェブサイトを関連付ける

  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 フィールドは、サイト間の関係を表す 1 つ以上の文字列の配列です。サイトでログイン認証情報を共有する場合は、文字列 delegate_permission/common.get_login_creds を指定します。target フィールドは、宣言が適用されるアセットを指定するオブジェクトです。以下のフィールドではウェブサイトを識別します。

    namespace ウェブサイトの場合は web にする必要があります。
    site https://domain[:optional_port] 形式のウェブサイトの URL(例: https://www.example.com)。

    詳しくは、Digital Asset Links のリファレンスをご覧ください。

  2. デジタル アセット リンクの JSON ファイルをログイン ドメインの https://domain[:optional_port]/.well-known/assetlinks.json でホストします。

    この例では、ドメインが www.example.com であるため、JSON ファイルは https://www.example.com/.well-known/assetlinks.json でホストする必要があります。

    デジタル アセット リンク ファイルの MIME タイプは JSON にする必要があります。サーバーがレスポンスで Content-Type: application/json ヘッダーを送信していることを確認します。

  3. 両方のウェブサイトで関連付けを宣言するには、assetlinks.jsonhttps://www.example.co.uk/.well-known/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 にデジタル アセット リンク ファイルの取得を許可していることを確認します。robots.txt ファイルがある場合は、Googlebot エージェントに /.well-known/assetlinks.json の取得を許可する必要があります。ほとんどのサイトでは、自動エージェントに /.well-known/ パス内のファイルの取得を許可するだけで、他のサービスがこれらのファイルのメタデータにアクセスできるようになります。

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

複数のウェブサイトを相互に関連付ける

複数のウェブサイトを互いに関連付けるには、デジタル アセット リンク ファイルで各ウェブサイトを指定します。たとえば、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"
     }
  }]