Ön koşullar

Uygulamanız ve web sitenizde Kimlik Bilgisi Yöneticisi ile sorunsuz bir oturum açma deneyimi sunmanın temel ön koşulu, bunlar arasında güvenli bir ilişkilendirme oluşturmaktır. Bu, kimlik bilgisi sağlayıcıların uygulamanız ile web siteniz arasında kimlik bilgilerini güvenli bir şekilde paylaşmasını sağlayan Digital Asset Links dosyaları kullanılarak gerçekleştirilir. Örneğin, bir web sitesi, Digital Asset Links dosyası kullanarak kimlik bilgilerini bir Android uygulaması veya başka bir web sitesiyle paylaştığını bildirebilir. Dijital Varlık Bağlantıları'nı kullanarak kullanıcılarınızın sorunsuz bir oturum açma deneyimi yaşamasını ve ilişkili uygulamalar ile web sitelerinde aynı kayıtlı kimlik bilgilerini kullanmasını sağlayabilirsiniz.

Kimlik bilgisi sağlayıcıların, uygulamanız ve web sitenizde yaygın olarak geçiş anahtarlarını ve şifreleri kullanmasına izin vermek için aşağıdaki adımları uygulayarak uygulamanız için bir Digital Asset Links dosyası oluşturun:

Aşağıdaki yapıya sahip assetlinks.json adlı bir dosya oluşturun:

[
    {
    "relation" : [
        "<array_of_permissions_granted_to_app>"
    ],
    "target" : {
        "namespace" : "android_app",
        "package_name" : "<android_application_package_name>",
        "sha256_cert_fingerprints" : [
            "<sha256_certificate_fingerprint_of_signing_key>"
]
    }
}
]
  • relation: Bildirilen ilişkiyi açıklayan bir veya daha fazla dizeden oluşan bir dizi. Uygulamaların ve sitelerin oturum açma kimlik bilgilerini paylaştığını belirtmek için bir dizide aşağıdaki ilişkileri belirtin:

    • delegate_permission/common.handle_all_urls: Bu ilişki, Android App Links'i etkinleştirir. Bu özellik, Android uygulamanızın belirli bir alanla ilgili tüm web URL'lerini işlemesini sağlar.

    • delegate_permission/common.get_login_creds: Bu ilişki, web siteniz ile Android uygulamanız arasında kimlik bilgilerinin paylaşılmasını sağlar.

  • target: Bildirimin geçerli olduğu öğeyi belirten bir nesne.

    • target.namespace: Bunu android_app olarak ayarlayın.
    • target.package_name: Bunu, uygulamanın manifest dosyasında belirtilen paket adı olarak ayarlayın (ör. com.example.android).
  • sha256_cert_fingerprints: Uygulamanızın imzalama sertifikasının SHA256 parmak izleri. Uygulamanızın SHA256 parmak izini almak için Web sitesi ilişkilendirmelerini bildirme başlıklı makaleyi inceleyin.

Bir uygulama için örnek hedef şöyledir:

[
  {
    "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" : [
        SHA_HEX_VALUE
      ]
    }
  }
]

Digital Asset Links dosyasını, web sitenizin oturum açma alanında aşağıdaki konumda barındırın:

```none
https://domain[:optional_port]/.well-known/assetlinks.json
```

Örneğin, oturum açma alanınız signin.example.com ise dosyayı şu adreste barındırın: https://signin.example.com/.well-known/assetlinks.json.

Digital Asset Links dosyasının MIME türü JSON olmalıdır. Sunucunun yanıtta Content-Type: application/json üstbilgisi gönderdiğinden ve HTTP durumunun 200 olarak ayarlandığından emin olun.

3. Digital Asset Links dosyasının alınmasına izin verin

Google'ın Digital Asset Links dosyanızı almasına izin vermek için ana makinenizi güncelleyin. Çoğu web sitesi, diğer hizmetlerin bu dosyalardaki meta verilere erişebilmesi için tüm otomatik aracıların /.well-known/ yolundaki dosyaları almasına izin verir.

robots.txt dosyanız varsa robots.txt dosyasını aşağıdaki gibi güncelleyerek web tarayıcılarının /.well-known/assetlinks.json dosyasını almasına izin verin:

User-agent: *
Allow: /.well-known/

4. Uygulamanın manifest dosyasını güncelleyin

Uygulamanızın manifest dosyasına <application> altına aşağıdaki satırları ekleyin:

<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />

5. Şifreler için Digital Asset Links'i yapılandırma

Şifreler için Kimlik Bilgisi Yöneticisi'ni kullanıyorsanız dijital öğe bağlantılarını yapılandırmak için ek bir adım uygulamanız gerekir.

Manifest dosyasına yüklenecek assetlinks.json dosyalarını belirten bir nesne ekleyin. Dizede kullandığınız tüm kesme işaretlerini ve tırnak işaretlerini aşağıdaki örnekte gösterildiği gibi kod dışına almanız gerekir:

<string name="asset_statements" translatable="false">
[{
  \"include\": \"https://signin.example.com/.well-known/assetlinks.json\"
}]
</string>

https://signin.example.com/.well-known/assetlinks.json bağlantısı, HTTP 200 yanıtını döndürmeli ve Content-Type üstbilgisi application/json olmalıdır. Yanıt 301 veya 302 HTTP yönlendirmesi ya da JSON olmayan Content-Type içeriyorsa doğrulama başarısız olur.

Aşağıdaki örnekte örnek bir istek ve beklenen yanıt üstbilgileri gösterilmektedir:

> GET /.well-known/assetlinks.json HTTP/1.1
> User-Agent: curl/7.35.0
> Host: signin.example.com

< HTTP/1.1 200 OK
< Content-Type: application/json

Sonraki adımlar

Gerekli bağımlılıkları ekleyip geçiş anahtarları için Digital Asset Links'i yapılandırdıktan sonra, desteklenen kimlik doğrulama yöntemlerini (geçiş anahtarları ve Google ile oturum açma) uygulamak için Kimlik Bilgisi Yöneticisi'ni kullanabilirsiniz. Başlamak için aşağıdaki geliştirici kılavuzlarına göz atın: