FIDO2 API, Android uygulamalarının, kullanıcıların kimliğini doğrulamak için güçlü, onaylanmış, ortak anahtara dayalı 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ı ve platform kimlik doğrulayıcısı sağlar kullanıcının parmak izini veya ekran kilidini kullanarak kimlik doğrulaması yapması.
Entegrasyon
FIDO2 API giriş noktası Fido2ApiClient'tır.
API iki işlemi destekler:
- Kimlik doğrulama, kullanıcı bir kimlik doğrulayıcıyı bir hesapla ilişkilendirdiğinde hesap başına her kimlik doğrulayıcı için bir kez yapılır.
- İmzalama, bağımlı taraf bir kullanıcının kimliğini doğrulamak istediğinde yapılır.
Hem kayıt hem de imzalama işlemi, kullanıcı etkileşimi gerektirir.
API kullanımını gösteren örnek bir uygulamayı https://github.com/android/security-samples/tree/master/Fido adresinde bulabilirsiniz.
Web sitenizle birlikte çalışabilirlik
Kullanıcıların kimlik bilgilerini web siteniz ve Android uygulamanız arasında sorunsuz bir şekilde paylaşmasına izin vermek basittir. Bunu yapmak için Dijital Öğe Bağlantılarından yararlanın. Web sitenizde bir Digital Asset Link JSON dosyası barındırıp uygulamanızın manifest dosyasına bir Digital Asset Link dosyası bağlantısı ekleyerek ilişkilendirmeleri bildirebilirsiniz.
Örneğin, https://example.com
öğesini bir Android uygulamasıyla ilişkilendirmek istiyorsanız
com.example.android
şu 3 adımı uygulayın:
1. Adım: Alanınızda assetlinks.json
barındırma
Bunun gibi bir JSON dosyası oluşturun ve dosyayı 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 başlığıyla sunulduğundan emin olunContent-Type: application/json
başlıklı makaleyi inceleyin.
sha256_cert_fingerprints
, uygulamanızın imzalama sertifikasının SHA256 parmak izleridir.
Android Uygulama Bağlantıları dokümanlarından daha fazla bilgi edinebilirsiniz.
2. Adım. Android uygulamasında assetlinks.json
bağlantısı
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. string.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 tüm kesme işaretlerini ve tırnak işaretlerini kod dışına almanız gerekir. Örnek:
<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 edinmek için Android'de Şifreler için SmartLock dokümanlarını okuyun.