Android için FIDO2 API'sı

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.

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.