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'tir.

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 bir kullanıcının kimliğini doğrulamak istediğinde yapılır.

Hem kayıt hem de imzalama işlemi için kullanıcı etkileşimi gerekir.

Web sitenizle birlikte çalışabilirlik

Kullanıcıların web siteniz ile Android uygulamanız arasında kimlik bilgilerini sorunsuz bir şekilde paylaşmasına izin vermek kolaydır. Bunun için Digital Asset Links'ten 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 bilgi için Android App Links belgelerini inceleyin.

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 apostrofları ve tırnak işaretlerini kod dışında bırakmanı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.