Android için FIDO2 API

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.

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.