Google si impegna a promuovere l'equità razziale per le comunità nere. Vedi come.

API FIDO2 per Android

L'API FIDO2 consente alle applicazioni Android di creare e utilizzare credenziali basate su chiave pubblica robuste e certificate allo scopo di autenticare gli utenti. L'API fornisce un'implementazione del client WebAuthn , che supporta l'uso di autenticatori roaming BLE, NFC e USB (chiavi di sicurezza), nonché un autenticatore della piattaforma, che consente all'utente di autenticarsi utilizzando l'impronta digitale o il blocco schermo.

Integrazione

Il punto di ingresso dell'API FIDO2 è Fido2ApiClient .

L'API supporta due operazioni:

  • La registrazione viene eseguita una volta per autenticatore per account, quando l'utente associa un autenticatore a un account.
  • La firma viene eseguita ogni volta che la relying party desidera autenticare un utente.

Sia la registrazione che la firma richiedono l'interazione dell'utente.

Un'applicazione di esempio che dimostra l'utilizzo dell'API è disponibile su https://github.com/android/security-samples/tree/master/Fido .

Interoperabilità con il tuo sito web

È semplice consentire agli utenti di condividere senza problemi le credenziali tra il tuo sito web e l'applicazione Android. Per fare ciò, sfrutta i collegamenti alle risorse digitali . Puoi dichiarare le associazioni ospitando un file JSON di Digital Asset Links sul tuo sito web e aggiungendo un collegamento al file Digital Asset Link al manifest della tua app.

Ad esempio, se desideri associare https://example.com a un'app Android com.example.android , ecco 3 passaggi obbligatori:

Passaggio 1. Ospita assetlinks.json nel tuo dominio

Crea un file JSON come questo e ospitalo su 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"
      ]
    }
  }
]

Assicurati che possa essere sottoposto a scansione da Google e che sia servito con l'intestazione HTTP Content-Type: application/json .

Nella tua app Android, aggiungi la seguente riga al file manifest in <application> :

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

Passaggio 3. Aggiungere una asset_statements stringa asset_statements al file strings.xml

La stringa asset_statements è un oggetto JSON che specifica i file assetlinks.json da caricare. È necessario eseguire l'escape di eventuali apostrofi e virgolette utilizzati nella stringa. Per esempio:

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

Per ulteriori informazioni sull'associazione della tua app e del tuo sito web, leggi la documentazione di SmartLock per password su Android .