FIDO2 API, Android uygulamalarının kullanıcıların kimliğini doğrulamak amacıyla güçlü, onaylanmış ortak anahtar tabanlı kimlik bilgileri oluşturmasına ve kullanmasına olanak tanır. API; BDE, NFC ve USB dolaşım kimlik doğrulayıcılarının (güvenlik anahtarları) kullanımını destekleyen bir WebAuthn İstemcisi uygulamasının yanı sıra kullanıcının parmak izi veya ekran kilidini kullanarak kimlik doğrulaması yapmasına olanak tanıyan bir platform kimlik doğrulayıcı aracı sağlar.
Entegrasyon
FIDO2 API giriş noktası Fido2ApiClient'tir.
API iki işlemi destekler:
- Kullanıcı bir kimlik doğrulayıcıyı bir hesapla ilişkilendirdiğinde kayıt, her hesap için kimlik doğrulayıcı başına bir kez yapılır.
- İmzalama, güvenen taraf bir kullanıcının kimliğini doğrulamak istediğinde yapılır.
Kayıt ve imzalama için kullanıcı etkileşimi gerekir.
API kullanımını gösteren örnek bir uygulamaya şu adresten ulaşabilirsiniz: https://github.com/android/identity-samples/tree/main/Fido2.
Web sitenizle birlikte çalışabilirlik
Kullanıcıların web sitenizde ve Android uygulamanızda kimlik bilgilerini sorunsuz bir şekilde paylaşmasını sağlamak kolaydır. Bunun için Dijital Öğe Bağlantılarından yararlanın. Web sitenizde bir Digital Asset Links JSON dosyası barındırıp uygulamanızın manifest dosyasına Digital Asset Link dosyasının bağlantısını ekleyerek ilişkilendirmeleri tanımlayabilirsiniz.
Örneğin, https://example.com
adlı iş ortağını bir Android uygulamasıyla (com.example.android
) ilişkilendirmek istiyorsanız aşağıdaki 3 adımı uygulayın:
1. Adım Alanınızda assetlinks.json
barındırın
Buna benzer bir JSON dosyası oluşturun ve https://example.com/.well-known/assetlinks.json
adresinde barındırın.
[
{
"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"
]
}
}
]
Google'dan taranabilir olduğundan ve HTTP üst bilgisi ile yayınlandığından emin olun
Content-Type: application/json
.
sha256_cert_fingerprints
, uygulamanızın imzalama sertifikasının SHA256 parmak izidir.
Daha fazla bilgi için Android Uygulama Bağlantıları belgelerine bakın.
2. Adım: Android uygulamasında assetlinks.json
ile bağlantı oluştur
Android uygulamanızda, aşağıdaki satırı <application>
dosyasının manifest dosyasına ekleyin:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
3. Adım. strings.xml dosyasına bir asset_statements
dizesi kaynağı ekleyin
asset_statements
dizesi, yüklenecek assetlinks.json
dosyalarını belirten bir JSON nesnesidir. Dizede kullandığınız kesme işaretlerini ve tırnak işaretlerini atlatmanız gerekir. Örneğin:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
Uygulamanızı ve web sitenizi ilişkilendirme hakkında daha fazla bilgi için Android'de Şifreler için SmartLock belgelerini okuyun.