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

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

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

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

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

同じアカウント管理バックエンドを共有する複数のドメイン(https://www.example.comhttps://www.example.co.uk) など)を使用している場合、バージョン 91 以降では、Digital Asset Links に関連付けられたドメインに保存されているパスワードを 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 ウェブサイトの URL(形式) https://domain[:optional_port]; 例: 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. 両方のウェブサイトで関連付けを宣言するには、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"
     }
  }]

認証情報の共有の詳細については、以下をご覧ください。