Permitir que o Chrome compartilhe credenciais de login entre sites afiliados

Se você usa vários domínios que compartilham o mesmo back-end de gerenciamento de contas, agora também é possível associá-los entre si para permitir que os usuários salvem credenciais uma vez e que o Gerenciador de senhas do Chrome as sugira para qualquer um dos sites afiliados.

O gerenciador de senhas do Chrome já preenche automaticamente as credenciais de sites com credenciais salvas, bem como nos dois casos a seguir:

  1. Quando dois sites estiverem na relação mesmo site, o Chrome vai mostrar as credenciais de preenchimento automático para o outro site se houver pelo menos uma credencial salva em um deles. Por exemplo, como www.example.com e m.example.com são o mesmo site, o Chrome pode compartilhar credenciais salvas entre os dois sites e sugerir a senha salva para outro.
  2. Quando um desenvolvedor associa um app Android a um site que usa as mesmas credenciais, o Chrome pode sugerir credenciais do Android nesse site. Os apps são associados a sites usando Digital Asset Links (DALs).

Agora também é possível associar sites em uma relação entre sites para permitir que os usuários salvem as credenciais uma vez e que o gerenciador de senhas as sugira para qualquer um dos sites afiliados.

Se você emprega vários domínios que compartilham o mesmo back-end de gerenciamento de conta (como https://www.example.com e https://www.example.co.uk), a partir da versão 91), é possível permitir que o Chrome sugira senhas salvas em domínios associados ao Digital Asset Links.

Para fazer uma associação de DAL, os desenvolvedores precisam colocar um arquivo JSON que siga a sintaxe de DAL em /.well-known/assetlinks.json nos respectivos domínios.

Pré-requisitos

  1. usar o Chrome 91 ou versão mais recente;
  2. Ative a flag em chrome://flags#filling-across-affiliated-websites.
  3. Verifique se a opção "Oferecer para salvar senhas" está ativada em chrome://settings/passwords.
  4. Verifique se o domínio de login do seu site está disponível por HTTPS.

Associar seus dois sites

  1. Para declarar que o site, por exemplo, https://www.example.com, pode compartilhar credenciais com https://www.example.co.uk, crie um arquivo chamado assetlinks.json com o seguinte conteúdo:

    [{
      "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"
      }
    }]
    

    O campo relation é uma matriz de uma ou mais strings que descrevem a relação entre os sites. Para que os sites compartilhem credenciais de login, especifique a string delegate_permission/common.get_login_creds. O campo target é um objeto que especifica o recurso a que a declaração se aplica. Os campos a seguir identificam um site:

    namespace Precisa ser web para sites.
    site O URL do site, no formato https://domain[:optional_port]. Por exemplo, https://www.example.com.

    Consulte a referência do Digital Asset Links para mais detalhes.

  2. Hospede o arquivo JSON do Digital Asset Links no seguinte local no domínio de login: https://domain[:optional_port]/.well-known/assetlinks.json.

    Neste exemplo, o domínio é www.example.com, então o arquivo JSON precisa estar hospedado em https://www.example.com/.well-known/assetlinks.json.

    O tipo MIME do arquivo Digital Asset Links precisa ser JSON. Verifique se o servidor envia um cabeçalho Content-Type: application/json na resposta.

  3. Para declarar a associação nos dois sites, hospede também o assetlinks.json em https://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. Verifique se o host permite que o Google recupere o arquivo de Digital Asset Links. Se você tiver um arquivo robots.txt, ele precisa permitir que o agente do Googlebot recupere /.well-known/assetlinks.json. A maioria dos sites pode simplesmente permitir que qualquer agente automatizado recupere arquivos no caminho /.well-known/ para que outros serviços possam acessar os metadados nesses arquivos:

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

Associar vários sites entre si

É possível associar vários sites entre si especificando cada um deles no arquivo Digital Asset Links. Por exemplo, para associar example.com, example.co.uk, e example.co.jp, especifique todos esses sites no arquivo JSON assetlinks.json e hospede-o em cada site em 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"
     }
  }]