Permita o compartilhamento contínuo de credenciais entre sites no Chrome

Se você usa vários domínios que compartilham o mesmo back-end de gerenciamento de contas, agora também é possível declarar que eles podem compartilhar credenciais 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 vinculados.

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

  • Quando dois sites estão na relação mesmo site, o Chrome mostra as credenciais de preenchimento automático para o outro site se houver pelo menos uma credencial salva em um site. Por exemplo, como www.example.com e m.example.com são o mesmo site, o Chrome pode compartilhar as credenciais salvas entre os dois sites e sugerir a senha salva para outro.
  • 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 Links de recursos digitais (DALs, na sigla em inglês).

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 associados.

Se você usar vários domínios que compartilham o mesmo back-end de gerenciamento de contas (como https://www.example.com e https://www.example.co.uk), a partir da versão 91), é possível ativar o Chrome para sugerir senhas salvas em domínios associados a links de recursos digitais.

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

Pré-requisitos

  • Use o Chrome 91 ou mais recente.
  • Verifique se a opção "Oferecer para salvar senhas" está ativada em chrome://settings/passwords.
  • Verifique se o domínio de login do seu site está disponível por HTTPS.

Configurar o compartilhamento de credenciais integrado nos 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 de links de recursos digitais 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 ser 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 o assetlinks.json em https://www.example.co.uk/.well-known/assetlinks.json também:

    [{
      "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 do Digital Asset Link. Se você tiver um arquivo robots.txt, ele precisa permitir que o agente do Googlebot extraia /.well-known/assetlinks.json. A maioria dos sites pode permitir que qualquer agente automatizado extraia arquivos no caminho /.well-known/ para que outros serviços possam acessar os metadados nesses arquivos:

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

Configurar o compartilhamento de credenciais integrado em vários sites

É possível configurar o compartilhamento de credenciais em vários sites especificando cada um no arquivo Digital Asset Links. Por exemplo, para associar o 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"
     }
  }]

Saiba mais sobre o compartilhamento de credenciais: