FIDO2 API, Android uygulamalarının kullanıcıların kimliğini doğrulamak amacıyla güçlü ve doğrulanmış 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ılmasını destekleyen bir WebAuthn İstemcisi uygulamasının yanı sıra, kullanıcının parmak izini veya ekran kilidini kullanarak kimlik doğrulaması yapmasına olanak tanıyan bir platform kimlik doğrulayıcı sunar.
Entegrasyon
FIDO2 API giriş noktası Fido2ApiClient'tır.
API iki işlemi destekler:
- Kullanıcı, kimlik doğrulayıcıyı bir hesapla ilişkilendirdiğinde, kayıt işlemi her hesap için kimlik doğrulayıcı başına bir kez yapılır.
- İmzalama işlemi, bağlı taraf bir kullanıcının kimliğini doğrulamak istediğinde gerçekleştirilir.
Hem kayıt hem de imzalama için kullanıcı etkileşimi gerekir.
API kullanımını gösteren örnek bir uygulamayı https://github.com/android/identity-samples/tree/main/Fido2 adresinde bulabilirsiniz.
Web sitenizle birlikte çalışabilirlik
Kullanıcıların web siteniz ve Android uygulamanız genelinde kimlik bilgilerini sorunsuz bir şekilde paylaşmasına izin vermek oldukça basittir. Bunu yapmak için Digital Asset Links'ten yararlanın. Web sitenizde bir Digital Asset Link JSON dosyası barındırarak ve uygulamanızın manifest dosyasına Digital Asset Link dosyasının bağlantısını ekleyerek ilişkilendirmeleri beyan edebilirsiniz.
Örneğin, https://example.com
uygulamasını bir Android uygulamasıyla
com.example.android
ilişkilendirmek istiyorsanız aşağıdaki 3 adımı uygulamanız gerekir:
1. Adım: assetlinks.json
ürününü alanınızda 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 Content-Type: application/json
HTTP üst bilgisi ile sunulduğundan emin olun.
sha256_cert_fingerprints
, uygulamanızın imzalama sertifikasının SHA256 parmak izleridir.
Android Uygulama Bağlantıları dokümanlarında daha fazla bilgi bulabilirsiniz.
2. adım: Android uygulamasında assetlinks.json
bağlantısı oluşturun
Android uygulamanızda, <application>
altındaki manifest dosyasına şu satırı ekleyin:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
3. adım: string.xml dosyasına bir asset_statements
dize kaynağı ekleyin
asset_statements
dizesi, yüklenecek assetlinks.json
dosyalarını belirten bir JSON nesnesidir. Dizede kullandığınız kesme ve tırnak işaretlerinden kaçınmanı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 edinmek için Android'de Şifreler için SmartLock belgelerini okuyun.