Google s'est engagé à promouvoir l'équité raciale pour les communautés noires. Regarde comment.

API FIDO2 pour Android

L'API FIDO2 permet aux applications Android de créer et d'utiliser des informations d'identification fortes et attestées basées sur des clés publiques dans le but d'authentifier les utilisateurs. L'API fournit une implémentation WebAuthn Client , qui prend en charge l'utilisation d'authentificateurs itinérants BLE, NFC et USB (clés de sécurité) ainsi qu'un authentificateur de plate-forme, qui permet à l'utilisateur de s'authentifier à l'aide de son empreinte digitale ou de son verrouillage d'écran.

L'intégration

Le point d'entrée de l' API FIDO2 est le Fido2ApiClient .

L'API prend en charge deux opérations:

  • L'inscription se fait une fois par authentificateur et par compte, lorsque l'utilisateur associe un authentificateur à un compte.
  • La signature est effectuée chaque fois que la partie de confiance souhaite authentifier un utilisateur.

L'enregistrement et la signature nécessitent une interaction de l'utilisateur.

Un exemple d'application démontrant l'utilisation de l'API est disponible à l' adresse https://github.com/android/security-samples/tree/master/Fido .

Interopérabilité avec votre site Web

Il est simple de permettre aux utilisateurs de partager de manière transparente les informations d'identification sur votre site Web et votre application Android. Pour ce faire, tirez parti des liens d'actifs numériques . Vous pouvez déclarer des associations en hébergeant un fichier JSON Digital Asset Links sur votre site Web et en ajoutant un lien vers le fichier Digital Asset Link au manifeste de votre application.

Par exemple, si vous souhaitez associer https://example.com à une application Android com.example.android , voici les 3 étapes requises:

Étape 1. Hébergez assetlinks.json sur votre domaine

Créez un fichier JSON comme celui-ci et hébergez-le sur 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"
      ]
    }
  }
]

Assurez-vous qu'il est explorable depuis Google et qu'il est servi avec l'en-tête HTTP Content-Type: application/json .

Dans votre application Android, ajoutez la ligne suivante au fichier manifeste sous <application> :

<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />

Étape 3. Ajoutez une ressource de chaîne asset_statements au fichier strings.xml

La chaîne asset_statements est un objet JSON qui spécifie les fichiers assetlinks.json à charger. Vous devez échapper toutes les apostrophes et guillemets que vous utilisez dans la chaîne. Par example:

<string name="asset_statements" translatable="false">
[{
  \"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>

Pour en savoir plus sur l'association de votre application et de votre site Web, lisez la documentation SmartLock for Passwords sur Android .