La API de FIDO2 permite que las aplicaciones de Android creen y utilicen credenciales sólidas basadas en claves públicas certificadas con el fin de autenticar a los usuarios. La API proporciona una implementación de WebAuthn Client , que admite el uso de autenticadores (llaves de seguridad) de roaming BLE, NFC y USB, así como un autenticador de plataforma, que permite al usuario autenticarse usando su huella digital o bloqueo de pantalla.
Integración
El punto de entrada de la API de FIDO2 es Fido2ApiClient .
La API admite dos operaciones:
- El registro se realiza una vez por autenticador por cuenta, cuando el usuario asocia un autenticador a una cuenta.
- La firma se realiza cada vez que la parte que confía desea autenticar a un usuario.
Tanto el registro como la firma requieren la interacción del usuario.
Puede encontrar una aplicación de muestra que demuestra el uso de la API en https://github.com/android/security-samples/tree/master/Fido .
Interoperabilidad con su sitio web
Es sencillo permitir que los usuarios compartan credenciales sin problemas en su sitio web y aplicación de Android. Para hacerlo, aproveche Digital Asset Links . Puede declarar asociaciones alojando un archivo JSON de Digital Asset Links en su sitio web y agregando un enlace al archivo de Digital Asset Link en el manifiesto de su aplicación.
Por ejemplo, si desea asociar https://example.com
con una aplicación de Android com.example.android
, aquí hay 3 pasos obligatorios:
Paso 1. assetlinks.json
en su dominio
Cree un archivo JSON como este y alójelo en 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"
]
}
}
]
Asegúrese de que se pueda rastrear desde Google y se sirva con el encabezado HTTP Content-Type: application/json
.
sha256_cert_fingerprints
son las huellas digitales SHA256 del certificado de firma de su aplicación. Encuentre más detalles en la documentación de Android App Links .
Paso 2. Enlace a assetlinks.json
en la aplicación de Android
En su aplicación de Android, agregue la siguiente línea al archivo de manifiesto en <application>
:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
Paso 3. Agregue un recurso de cadena asset_statements
al archivo strings.xml
La cadena asset_statements
es un objeto JSON que especifica los archivos assetlinks.json
para cargar. Debe escapar cualquier apóstrofo y comillas que use en la cadena. Por ejemplo:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
Para obtener más información sobre cómo asociar su aplicación y su sitio web, lea la documentación de SmartLock for Passwords en Android .
,La API de FIDO2 permite que las aplicaciones de Android creen y utilicen credenciales sólidas basadas en claves públicas certificadas con el fin de autenticar a los usuarios. La API proporciona una implementación de WebAuthn Client , que admite el uso de autenticadores (llaves de seguridad) de roaming BLE, NFC y USB, así como un autenticador de plataforma, que permite al usuario autenticarse usando su huella digital o bloqueo de pantalla.
Integración
El punto de entrada de la API de FIDO2 es Fido2ApiClient .
La API admite dos operaciones:
- El registro se realiza una vez por autenticador por cuenta, cuando el usuario asocia un autenticador a una cuenta.
- La firma se realiza cada vez que la parte que confía desea autenticar a un usuario.
Tanto el registro como la firma requieren la interacción del usuario.
Puede encontrar una aplicación de muestra que demuestra el uso de la API en https://github.com/android/security-samples/tree/master/Fido .
Interoperabilidad con su sitio web
Es sencillo permitir que los usuarios compartan credenciales sin problemas en su sitio web y aplicación de Android. Para hacerlo, aproveche Digital Asset Links . Puede declarar asociaciones alojando un archivo JSON de Digital Asset Links en su sitio web y agregando un enlace al archivo de Digital Asset Link en el manifiesto de su aplicación.
Por ejemplo, si desea asociar https://example.com
con una aplicación de Android com.example.android
, aquí hay 3 pasos obligatorios:
Paso 1. assetlinks.json
en su dominio
Cree un archivo JSON como este y alójelo en 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"
]
}
}
]
Asegúrese de que se pueda rastrear desde Google y se sirva con el encabezado HTTP Content-Type: application/json
.
sha256_cert_fingerprints
son las huellas digitales SHA256 del certificado de firma de su aplicación. Encuentre más detalles en la documentación de Android App Links .
Paso 2. Enlace a assetlinks.json
en la aplicación de Android
En su aplicación de Android, agregue la siguiente línea al archivo de manifiesto en <application>
:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
Paso 3. Agregue un recurso de cadena asset_statements
al archivo strings.xml
La cadena asset_statements
es un objeto JSON que especifica los archivos assetlinks.json
para cargar. Debe escapar cualquier apóstrofo y comillas que use en la cadena. Por ejemplo:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
Para obtener más información sobre cómo asociar su aplicación y su sitio web, lea la documentación de SmartLock for Passwords en Android .