Aumente a conveniência do usuário permitindo o compartilhamento contínuo de credenciais entre plataformas nos seus apps e sites. Quando vários sites e apps Android compartilham um back-end de gerenciamento de conta, esse recurso permite que os usuários salvem credenciais uma vez e sejam sugeridas automaticamente em qualquer site ou app Android vinculado.
Práticas recomendadas
Para ter a melhor experiência e segurança do usuário, implemente o compartilhamento contínuo de credenciais nestes pontos de contato:
- Formulário de login: ative o preenchimento automático de credenciais.
- Formulário de inscrição: armazene novas credenciais com segurança para usar em várias plataformas.
- Formulário de alteração de senha: sincronize as atualizações de senha em todas as plataformas.
- Formulário de redefinição de senha: permita que a redefinição de senha única atualize todas as plataformas.
- Domínios com WebView: amplie o compartilhamento de credenciais para domínios de WebView em seu app que lida com o gerenciamento da conta (login do host, inscrição, senha alterações ou redefinição de senha).
- Apps Android
Essa abordagem cria um sistema unificado de gerenciamento de credenciais, aprimorando comodidade e segurança para o usuário.
Ao criar sites de gerenciamento da conta, sugerimos que você siga estas práticas recomendadas para sites de gerenciamento de contas:
- Elabore o formulário de inscrição de acordo com as práticas recomendadas
- Crie o formulário de login de acordo com as práticas recomendadas
- Adicionar um URL conhecido para mudar senhas
Ao projetar seus apps Android, recomendamos que você integre o app ao Gerenciador de credenciais do Android.
Pré-requisitos
Antes de configurar o compartilhamento contínuo de credenciais, verifique se você tem o seguinte para para cada plataforma:
Para cada app Android:
- O ID do app Android, conforme declarado no arquivo
build.gradle
do app. - As impressões digitais SHA256 do certificado de assinatura
- (Recomendado) Login do usuário implementado com a API Credential Manager.
Para cada site:
- Saber publicar um arquivo
/.well-known/assetlinks.json
em cada um deles. , seguindo a sintaxe de Digital Asset Links (DALs). - Todos os domínios de gerenciamento de contas (login, inscrição, alteração de senha ou senha) formulários de redefinição) precisam ser acessíveis por HTTPS.
Facilite o compartilhamento de credenciais entre apps e sites Android
Para configurar o compartilhamento contínuo de credenciais entre apps e sites, você cria e publicar listas de declarações dos Digital Asset Links que declarem quais entidades (sites ou apps Android) podem compartilhar credenciais;
Para declarar uma relação de compartilhamento de credenciais:
Crie um arquivo
assetlinks.json
com instruções vinculadas ao site e ao app Android, seguindo a sintaxe da lista de instruções de DALs:[ { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"web", "site":URL } }, { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"android_app", "package_name":"APP_ID", "sha256_cert_fingerprints":[ "SHA_HEX_VALUE" ] } } ]
URL
é o URL do site.APP_ID
é seu ID do aplicativo Android, eSHA_HEX_VALUE
é a impressão digital SHA256 do seu certificado de assinatura de apps Android.O campo
relation
descreve o relacionamento que está sendo declarado. Para declarar que apps e sites compartilhem credenciais de login, especifique as relações comodelegate_permission/common.get_login_creds
: Saiba mais sobre Strings de relação em DALs.O campo
target
é um objeto que especifica o recurso a que a declaração se aplica.Os campos a seguir identificam um site:
namespace
web
site
O URL do site, no formato
https://domain[:optional_port
]; por exemplo, https://www.example.com.O
domain
precisa ser totalmente qualificado e ooptional_port
precisa ser omitido ao usar a porta 443 para HTTPS.Um destino
site
só pode ser um domínio raiz. Não é possível limitar uma associação de app a um subdiretório específico. Não inclua um caminho no URL, como uma barra final.Não é considerado que os subdomínios apresentem correspondências: ou seja, se você especificar
domain
como www.example.com, o domínio www.counter.example.com não será associado ao seu app.Os campos a seguir identificam um app Android.
namespace
android_app
package_name
Nome do pacote declarado no manifesto do app. Por exemplo: com.example.android
sha256_cert_fingerprints
As impressões digitais SHA256 do certificado de assinatura do app
Hospede o arquivo JSON do Digital Asset Links no seguinte local da domínios de login:
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json
em queDOMAIN
é totalmente qualificado eOPTIONAL_PORT
deve ser omitido ao usar a porta 443 para HTTPS.Declarar a associação no app Android incorporando uma declaração no seu O arquivo
res/values/strings.xml
do app Android que leva à lista de instruções que você criado na Etapa 1. Adicione um objeto que especifique os arquivosassetlinks.json
aos quais carregar. Exemplo:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\" }] </string>
Substitua
DOMAIN
eOPTIONAL_PORT
(precisa ser omitido ao usar a porta) 443 para HTTPS), por exemplo,https://www.example.com
. Fuja de apóstrofos e as aspas que você usa na string.Também é possível adicionar um snippet JSON ao arquivo
strings.xml
, conforme mostrado em a documentação das DALs, mas usar a instruçãoinclude
permite que você instruções de mudança sem publicar uma nova versão do app.Faça referência à instrução no manifesto adicionando a seguinte linha ao seu arquivo
AndroidManifest.xml
do app em<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
Publique a nova versão do seu app Android para o desenvolvedor do Google Play Console
Depois de seguir essas etapas, você terá configurado corretamente a credencial integrada o compartilhamento entre seu site e seu app Android.
Essa não é a única maneira válida de configurar DALs para compartilhamento de credenciais, mas essa abordagem simplifica o processo futuro de adição de novas entidades ao seu de compartilhamento de credenciais simplificada, promove a reutilização do código e reduz a possibilidade de erros durante as atualizações.