Interfejs FIDO2 API umożliwia aplikacjom na Androida tworzenie i używanie silnych, potwierdzonych publicznych danych logowania opartych na kluczach do uwierzytelniania użytkowników. Interfejs API udostępnia implementację WebAuthn Client, która obsługuje korzystanie z uwierzytelniania BLE, NFC oraz roamingu USB (klucze bezpieczeństwa), jak również uwierzytelniające platformy, uwierzytelniania za pomocą odcisku palca lub blokady ekranu.
Integracja
Punkt wejścia FIDO2 API to Fido2ApiClient.
Interfejs API obsługuje dwie operacje:
- Rejestracja jest przeprowadzana raz na uwierzytelniające konto, gdy użytkownik połączy aplikację z kontem.
- Podpisywanie jest przeprowadzane za każdym razem, gdy podmiot zależny chce uwierzytelnić użytkownika.
Zarówno rejestracja, jak i podpisywanie wymagają interakcji z użytkownikiem.
Przykładową aplikację pokazującą użycie interfejsu API znajdziesz na https://github.com/android/security-samples/tree/master/Fido.
Interoperacyjność z Twoją witryną
Ułatwienie użytkownikom udostępniania danych logowania w witrynie i aplikacji na Androida jest proste. Aby to zrobić, skorzystaj z linków cyfrowych zasobów reklamowych. Możesz powiązać 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 na przykład chcesz powiązać konto https://example.com
z aplikacją na Androida
com.example.android
, te 3 wymagane czynności:
Krok 1. Host assetlinks.json
w Twojej domenie
Utwórz taki plik JSON i umieść go w 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 można ją zindeksować i 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 się z urządzeniem assetlinks.json
w aplikacji na Androida
W aplikacji na Androida dodaj ten wiersz do pliku manifestu w sekcji <application>
:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
Krok 3. Dodaj zasób ciągu znaków asset_statements
do pliku string.xml
Ciąg asset_statements
to obiekt JSON określający pliki assetlinks.json
do wczytania. Musisz zmieniać znaczenie apostrofów i cudzysłowów, których używasz w ciągu znaków. np.:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
Więcej informacji o wiązaniu aplikacji z witryną znajdziesz w dokumentacji SmartLock for Passwords na Androida.