Interfejs FIDO2 API umożliwia aplikacjom na Androida tworzenie i używanie silnych, atestowanych publicznych danych logowania na podstawie klucza na potrzeby uwierzytelniania użytkowników. Interfejs API udostępnia implementację klienta WebAuthn, która umożliwia korzystanie z uwierzytelniania za pomocą BLE, NFC i roamingu USB (klucze bezpieczeństwa), a także uwierzytelnianie platformy, które umożliwia uwierzytelnianie przy użyciu odcisku palca lub blokady ekranu.
Integracja
Punkt wejścia FIDO2 API to Fido2ApiClient.
Interfejs API obsługuje 2 operacje:
- Rejestracja jest przeprowadzana tylko raz dla każdego mechanizmu uwierzytelniania, gdy użytkownik przypisze do niego uwierzytelnianie.
- Podpisywanie odbywa się zawsze, gdy podmiot zależny chce uwierzytelnić użytkownika.
Zarówno rejestracja, jak i podpisanie wymagają interakcji użytkownika.
Przykładowa aplikacja pokazująca użycie interfejsu API jest dostępna na https://github.com/android/identity-samples/tree/main/Fido2.
Interoperacyjność Twojej witryny
Użytkownicy mogą łatwo udostępniać dane logowania w witrynie i aplikacji na Androida. Skorzystaj z linków do zasobów cyfrowych. Możesz zdefiniować powiązania, hostując plik JSON protokołu Digital Asset Links w swojej witrynie i dodając do pliku manifestu aplikacji link do tego pliku.
Jeśli np. chcesz powiązać aplikację https://example.com
z aplikacją na Androida com.example.android
, musisz wykonać te 3 czynności:
Krok 1. Hostowanie usługi assetlinks.json
w Twojej domenie
Utwórz taki plik JSON i umieść go na serwerze 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"
]
}
}
]
Upewnij się, że Google może ją zindeksować i że zawiera nagłówek HTTP Content-Type: application/json
.
sha256_cert_fingerprints
to odciski cyfrowe SHA256 certyfikatu podpisywania aplikacji.
Więcej informacji znajdziesz w dokumentacji linków aplikacji na Androida.
Krok 2. Połącz z aplikacją assetlinks.json
w aplikacji na Androida
W aplikacji na Androida w pliku manifestu w sekcji <application>
dodaj ten wiersz:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
Krok 3. Dodaj zasób tekstowy asset_statements
do pliku string.xml
Ciąg asset_statements
jest obiektem JSON, który określa pliki assetlinks.json
do wczytania. Musisz ominąć wszelkie apostrofy i cudzysłowy używane w ciągu znaków. Przykład:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
Aby dowiedzieć się więcej o powiązywaniu aplikacji z witryną, przeczytaj dokumentację na temat Smart Lock na hasła w Androidzie.