Chrome のウェブサイト間でシームレスな認証情報共有が可能に

同じアカウント管理バックエンドを共有する複数のドメインを使用している場合は、ドメイン間で認証情報を共有できるように宣言することもできます。これにより、ユーザーは認証情報を 1 回保存するだけで、リンクされた任意のウェブサイトで Chrome パスワード マネージャーから認証情報を提案されるようになります。

Chrome のパスワード マネージャーでは、保存されている認証情報でウェブサイトの認証情報がすでに自動入力されています。また、次の 2 つのケースもあります。

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

また、ウェブサイトをクロスサイトの関係で関連付けることができるようになりました。これにより、ユーザーは認証情報を一度保存し、パスワード マネージャーに関連付けられたウェブサイトのいずれかに提案させることができます。

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

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

前提条件

  • Chrome 91 以降を使用します。
  • chrome://settings/passwords で [パスワードを保存するか確認する] がオンになっていることを確認します。
  • ウェブサイトのログイン ドメインが 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)。

    詳しくは、デジタル アセットリンク リファレンスをご覧ください。

  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. 両方のウェブサイトで関連付けを宣言するには、https://www.example.co.uk/.well-known/assetlinks.jsonassetlinks.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/
    

複数のウェブサイトで認証情報をシームレスに共有する

複数のウェブサイトでシームレスな認証情報共有を設定するには、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"
     }
  }]

認証情報の共有の詳細: