Interfejs FIDO2 API umożliwia aplikacjom na Androida tworzenie i używanie silnych, poświadczonych danych logowania na podstawie klucza publicznego na potrzeby uwierzytelniania użytkowników. Interfejs API udostępnia implementację klienta WebAuthn, która obsługuje stosowanie authenticatorów (kluczy bezpieczeństwa) BLE, NFC i USB w trybie roamingu, a także authenticatora platformy, który umożliwia użytkownikowi uwierzytelnianie się za pomocą odcisku palca lub blokady ekranu.
Integracja
Punktem wejścia interfejsu FIDO2 API jest Fido2ApiClient.
Interfejs API obsługuje 2 operacje:
- Rejestracja odbywa się raz na jeden weryfikator na konto, gdy użytkownik powiąże weryfikator z kontem.
- Podpisywanie odbywa się za każdym razem, gdy powierzający chce uwierzytelnić użytkownika.
Zarówno rejestracja, jak i podpisywanie wymagają działania ze strony użytkownika.
Interoperacyjność z witryną
Użytkownicy mogą łatwo udostępniać dane logowania w Twojej witrynie i aplikacji na Androida. Aby to zrobić, skorzystaj z protokołu Digital Asset Links. Możesz deklarować powiązania, umieszczając plik JSON protokołu Digital Asset Links w swojej witrynie i dodając do pliku manifestu aplikacji link do pliku Digital Asset Link.
Jeśli na przykład chcesz powiązać https://example.com
z aplikacją na Androida
com.example.android
, wykonaj te 3 czynności:
Krok 1. Hostowanie assetlinks.json
w domenie
Utwórz plik JSON podobny do tego i umieść go na stronie 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 strona jest indeksowana przez Google i udostępniana z nagłówkiem HTTP Content-Type: application/json
.
sha256_cert_fingerprints
to odcisk cyfrowy SHA-256 certyfikatu podpisywania aplikacji.
Więcej informacji znajdziesz w dokumentacji Linków aplikacji na Androida.
relation
Krok 2. Link do assetlinks.json
w aplikacji na Androida
W pliku manifestu aplikacji na Androida dodaj ten wiersz w sekcji <application>
:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
Krok 3. Dodawanie zasobu ciągu znaków asset_statements
do pliku strings.xml
Ciąg znaków asset_statements
to obiekt JSON, który określa assetlinks.json
pliki do załadowania. Musisz zmienić znaczenie apostrofów i cudzysłów użytych w tym ciągu znaków. Na przykład:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
Więcej informacji o połączeniu aplikacji z witryną znajdziesz w dokumentacji SmartLock for Passwords na Androida.