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şturup kullanmasına olanak tanır. API, BDE, NFC ve USB ile dolaşan kimlik doğrulayıcıların (güvenlik anahtarları) yanı sıra kullanıcının parmak izini veya ekran kilidini kullanarak kimlik doğrulaması yapabilmesine olanak tanıyan bir platform kimlik doğrulayıcı kullanımını destekleyen bir WebAuthn İstemcisi uygulaması sağlar.
Entegrasyon
FIDO2 API giriş noktası Fido2ApiClient değeridir.
API iki işlemi destekler:
- Kayıt, kullanıcı bir kimlik doğrulayıcıyı hesapla ilişkilendirdiğinde hesap başına kimlik doğrulayıcı başına bir kez yapılır.
- İmzalama, güvenen tarafın bir kullanıcının kimliğini doğrulamak istediği her zaman yapılır.
Hem kayıt hem de imzalama işlemi 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 arasında kimlik bilgilerini sorunsuz bir şekilde paylaşmasına izin vermek kolaydır. Bunu yapmak için Dijital Varlık Bağlantıları özelliğinden yararlanın. Web sitenizde bir Digital Asset Links JSON dosyası barındırarak ve Digital Asset Link dosyasının bağlantısını uygulamanızın manifest dosyasına ekleyerek ilişkilendirmeleri belirtebilirsiniz.
Örneğin, https://example.com
öğesini bir Android uygulamasıyla (com.example.android
) ilişkilendirmek istiyorsanız uygulamanız gereken 3 adım şunlardır:
1. Adım: assetlinks.json
'ü alanınızda barındırma
Bunun gibi 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 tarafından taranabilir olduğundan ve Content-Type: application/json
HTTP üst bilgisiyle sunulduğundan emin olun.
sha256_cert_fingerprints
, uygulamanızın imzalama sertifikasının SHA256 parmak izlerini belirtir.
Daha fazla bilgiyi Android App Links dokümanlarında bulabilirsiniz.
2. adım: Android uygulamasında assetlinks.json
bağlantısı
Android uygulamanızda, manifest dosyasına <application>
altında aşağıdaki satırı ekleyin:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
3. Adım: strings.xml dosyasına bir asset_statements
dize kaynağı ekleyin
asset_statements
dizesi, yüklenecek assetlinks.json
dosyalarını belirten bir JSON nesnesi. Dizide kullandığınız apostrof ve tırnak işaretlerinden kurtulmanı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.