Android uygulamaları ve web sitelerinde sorunsuz kimlik bilgisi paylaşımını ayarlayın

Uygulamalarınız ve web siteleriniz arasında platformlar arası sorunsuz kimlik bilgisi paylaşımını etkinleştirerek kullanıcıların rahatlığını en üst düzeye çıkarın. Birden fazla web sitesi ve Android uygulaması aynı hesap yönetimi arka ucunu paylaştığında bu özellik, kullanıcıların kimlik bilgilerini bir kez kaydetmelerine ve bunların bağlantılı bir web sitesinde veya Android uygulamasında otomatik olarak önerilmelerine olanak tanır.

En iyi uygulamalar

Optimum kullanıcı deneyimi ve güvenlik için aşağıdaki temas noktalarında sorunsuz kimlik bilgisi paylaşımı uygulayın:

  • Oturum açma formu: Otomatik kimlik bilgisi doldurma özelliğini etkinleştirin.
  • Kayıt formu: Platformlar arasında kullanılacak yeni kimlik bilgilerini güvenli bir şekilde saklayın.
  • Şifre değiştirme formu: Şifre güncellemelerini tüm platformlarda senkronize edin.
  • Şifre sıfırlama formu: Tüm platformların güncellenmesi için tek bir şifre sıfırlamasına izin verin.
  • Web görünümü alanları: Kimlik bilgisi paylaşımını, uygulamanızda hesap yönetimini (barındırıcı oturum açma, kaydolma, şifre değiştirme veya şifre sıfırlama formları) yöneten web görünümü alanlarına genişletin.
  • Android uygulamaları

Bu yaklaşım, hem kullanıcı rahatlığını hem de güvenliği artıran birleşik bir kimlik bilgisi yönetim sistemi oluşturur.

Hesap yönetimi web sitelerinizi tasarlarken, hesap yönetimi siteleri için aşağıdaki en iyi uygulamaları izlemenizi öneririz:

Android uygulamalarınızı tasarlarken uygulamanızı Android Kimlik Bilgisi Yöneticisi ile entegre etmenizi öneririz.

Ön koşullar

Sorunsuz kimlik bilgisi paylaşımını ayarlamadan önce her platform için aşağıdakilere sahip olduğunuzdan emin olun:

Her Android uygulaması için:

Her web sitesi için:

  • Digital Asset Links (DAL'ler) söz dizimine uygun olarak her bir alanda bir /.well-known/assetlinks.json dosyası yayınlayabilme.
  • Tüm hesap yönetimi alanlarına (oturum açma, kaydolma, şifre değiştirme veya şifre sıfırlama formları) HTTPS üzerinden erişilebilmelidir.

Android uygulamaları ve web siteleri arasında sorunsuz kimlik bilgisi paylaşımını etkinleştirme

Uygulamalar ve web siteleri arasında sorunsuz kimlik bilgisi paylaşımını yapılandırmak için hangi varlıkların (web siteleri veya Android uygulamaları) kimlik bilgilerini paylaşmasına izin verildiğini belirten Dijital Öğe Bağlantıları bildirim listeleri oluşturup yayınlarsınız.

Kimlik bilgisi paylaşımı ilişkisi beyan etmek için:

  1. DALs ifade listesi söz dizimini uygulayarak web sitesine ve Android uygulamasına bağlantı veren ifadeler içeren bir assetlinks.json dosyası oluşturun:

    [
      {
        "relation":[
          "delegate_permission/common.get_login_creds"
        ],
        "target":{
          "namespace":"web",
          "site":URL
        }
      },
      {
        "relation":[
          "delegate_permission/common.get_login_creds"
        ],
        "target":{
          "namespace":"android_app",
          "package_name":"APP_ID",
          "sha256_cert_fingerprints":[
            "SHA_HEX_VALUE"
          ]
        }
      }
    ]
    

    Burada URL sitenizin URL'si, APP_ID Android uygulama kimliğiniz ve SHA_HEX_VALUE ise Android uygulamanızın imzalama sertifikanızın SHA256 parmak izidir.

    relation alanı, tanımlanan ilişkiyi açıklar. Uygulamaların ve sitelerin oturum açma kimliklerini paylaştığını belirtmek için ilişkileri delegate_permission/common.get_login_creds olarak belirtin. DAL'lardaki İlişki Dizelerini hakkında daha fazla bilgi edinin.

    target alanı, beyanın geçerli olduğu öğeyi belirten bir nesnedir.

    Aşağıdaki alanlar bir web sitesini tanımlar:

    namespace

    web

    site

    Web sitesinin URL'si (https://domain[:optional_port biçiminde); örneğin, https://www.example.com.

    HTTPS için 443 numaralı bağlantı noktası kullanıldığında domain tam nitelikli olmalı ve optional_port atlanmalıdır.

    site hedefi yalnızca bir kök alan olabilir: Uygulama ilişkilendirmesini belirli bir alt dizinle sınırlayamazsınız. URL'ye yol (ör. son eğik çizgi) eklemeyin.

    Alt alanlar eşleşmiş olarak kabul edilmez. Yani domain alanını www.example.com olarak belirtirseniz www.counter.example.com alanı uygulamanızla ilişkilendirilmez.

    Aşağıdaki alanlar bir Android uygulamasını tanımlar:

    ad alanı

    android_app

    package_name

    Uygulamanın manifest dosyasında beyan edilen paket adı. Örneğin, com.example.android

    sha256_cert_fingerprints

    Uygulamanızın imzalama sertifikasının SHA256 parmak izleri.

  2. Digital Asset Links JSON dosyasını, oturum açma alanlarında aşağıdaki konumda barındırın: https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json Burada DOMAIN tam niteliklidir ve HTTPS için 443 numaralı bağlantı noktası kullanılırken OPTIONAL_PORT atlanmalıdır.

  3. Android uygulamanızın res/values/strings.xml dosyasına, 1. adımda oluşturduğunuz beyan listesine bağlantı veren bir beyan yerleştirerek Android uygulamasında ilişkilendirmeyi beyan edin. Yüklenecek assetlinks.json dosyalarını belirten bir nesne ekleyin. Örneğin:

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

    DOMAIN ve OPTIONAL_PORT değerlerini değiştirin (HTTPS için bağlantı noktası 443 kullanılırken atlanmalıdır) (örneğin, https://www.example.com). Dizide kullandığınız apostrofları ve tırnak işaretlerini kod dışına alın.

    DAL dokümanlarında gösterildiği gibi strings.xml dosyanıza JSON snippet'i de ekleyebilirsiniz. Ancak include ifadesini kullanmak, uygulamanızın yeni bir sürümünü yayınlamadan ifadeleri değiştirmenize olanak tanır.

  4. Uygulamanızın <application> altındaki AndroidManifest.xml dosyasına aşağıdaki satırı ekleyerek manifest'teki beyana referans verin:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  5. Android uygulamanızın yeni sürümünü Google Play Console'da yayınlama

Bu adımları uyguladıktan sonra, web siteniz ile Android uygulamanız arasında sorunsuz kimlik bilgisi paylaşımını başarıyla ayarladınız.

Bunun, kimlik bilgisi paylaşımı için DAL'leri ayarlamanın tek geçerli yolu olmadığını ancak bu yaklaşım, gelecekte sorunsuz kimlik bilgisi paylaşım ağınıza yeni varlıklar ekleme sürecini basitleştirir, kodun yeniden kullanılabilirliğini destekler ve güncelleme sırasında hata olasılığını azaltır.