A API FIDO2 permite que aplicativos Android criem e usem credenciais baseadas em chaves públicas fortes e atestadas com a finalidade de autenticar usuários. A API fornece uma implementação do WebAuthn Client , que suporta o uso de autenticadores de roaming BLE, NFC e USB (chaves de segurança), bem como um autenticador de plataforma, que permite ao usuário autenticar usando sua impressão digital ou bloqueio de tela.
Integração
O ponto de entrada da API FIDO2 é o Fido2ApiClient .
A API suporta duas operações:
- O registro é feito uma vez por autenticador por conta, quando o usuário associa um autenticador a uma conta.
- A assinatura é feita sempre que a terceira parte confiável deseja autenticar um usuário.
Tanto o registro quanto a assinatura exigem interação do usuário.
Um aplicativo de amostra que demonstra o uso da API pode ser encontrado em https://github.com/android/security-samples/tree/master/Fido .
Interoperabilidade com seu site
É simples permitir que os usuários compartilhem credenciais perfeitamente em seu site e aplicativo Android. Para isso, aproveite os Links de Ativos Digitais . Você pode declarar associações hospedando um arquivo JSON de Links de Ativos Digitais em seu site e adicionando um link ao arquivo Link de Ativos Digitais ao manifesto do seu aplicativo.
Por exemplo, se você quiser associar https://example.com
a um aplicativo Android com.example.android
, aqui estão 3 etapas obrigatórias:
Etapa 1. Hospede o assetlinks.json
em seu domínio
Crie um arquivo JSON como este e hospede-o em https://example.com/.well-known/assetlinks.json
.
[
{
"relation" : [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target" : {
"namespace" : "web",
"site" : "https://example.com"
}
},
{
"relation" : [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target" : {
"namespace" : "android_app",
"package_name" : "com.example.android",
"sha256_cert_fingerprints" : [
"DE:AD:BE:EF"
]
}
}
]
Certifique-se de que seja rastreável do Google e seja veiculado com o cabeçalho HTTP Content-Type: application/json
.
sha256_cert_fingerprints
são as impressões digitais SHA256 do certificado de assinatura do seu aplicativo. Encontre mais detalhes na documentação do Android App Links .
Etapa 2. Link para assetlinks.json
no aplicativo Android
Em seu aplicativo Android, adicione a seguinte linha ao arquivo de manifesto em <application>
:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
Etapa 3. Adicione um recurso de string asset_statements
ao arquivo strings.xml
A string asset_statements
é um objeto JSON que especifica os arquivos assetlinks.json
a serem carregados. Você deve escapar de quaisquer apóstrofos e aspas que usar na string. Por exemplo:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
Para saber mais sobre como associar seu aplicativo e seu site, leia a documentação do SmartLock for Passwords no Android .
,A API FIDO2 permite que aplicativos Android criem e usem credenciais baseadas em chaves públicas fortes e atestadas com a finalidade de autenticar usuários. A API fornece uma implementação do WebAuthn Client , que suporta o uso de autenticadores de roaming BLE, NFC e USB (chaves de segurança), bem como um autenticador de plataforma, que permite ao usuário autenticar usando sua impressão digital ou bloqueio de tela.
Integração
O ponto de entrada da API FIDO2 é o Fido2ApiClient .
A API suporta duas operações:
- O registro é feito uma vez por autenticador por conta, quando o usuário associa um autenticador a uma conta.
- A assinatura é feita sempre que a terceira parte confiável deseja autenticar um usuário.
Tanto o registro quanto a assinatura exigem interação do usuário.
Um aplicativo de amostra que demonstra o uso da API pode ser encontrado em https://github.com/android/security-samples/tree/master/Fido .
Interoperabilidade com seu site
É simples permitir que os usuários compartilhem credenciais perfeitamente em seu site e aplicativo Android. Para isso, aproveite os Links de Ativos Digitais . Você pode declarar associações hospedando um arquivo JSON de Links de Ativos Digitais em seu site e adicionando um link ao arquivo Link de Ativos Digitais ao manifesto do seu aplicativo.
Por exemplo, se você quiser associar https://example.com
a um aplicativo Android com.example.android
, aqui estão 3 etapas obrigatórias:
Etapa 1. Hospede o assetlinks.json
em seu domínio
Crie um arquivo JSON como este e hospede-o em https://example.com/.well-known/assetlinks.json
.
[
{
"relation" : [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target" : {
"namespace" : "web",
"site" : "https://example.com"
}
},
{
"relation" : [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target" : {
"namespace" : "android_app",
"package_name" : "com.example.android",
"sha256_cert_fingerprints" : [
"DE:AD:BE:EF"
]
}
}
]
Certifique-se de que seja rastreável do Google e seja veiculado com o cabeçalho HTTP Content-Type: application/json
.
sha256_cert_fingerprints
são as impressões digitais SHA256 do certificado de assinatura do seu aplicativo. Encontre mais detalhes na documentação do Android App Links .
Etapa 2. Link para assetlinks.json
no aplicativo Android
Em seu aplicativo Android, adicione a seguinte linha ao arquivo de manifesto em <application>
:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
Etapa 3. Adicione um recurso de string asset_statements
ao arquivo strings.xml
A string asset_statements
é um objeto JSON que especifica os arquivos assetlinks.json
a serem carregados. Você deve escapar de quaisquer apóstrofos e aspas que usar na string. Por exemplo:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
Para saber mais sobre como associar seu aplicativo e seu site, leia a documentação do SmartLock for Passwords no Android .