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:
- Kayıt formunuzu en iyi uygulamalara uygun şekilde tasarlayın
- Giriş formunuzu en iyi uygulamalara uygun şekilde tasarlayın
- Şifre değiştirmek için bilinen bir URL ekleme
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:
- Uygulamanın
build.gradle
dosyasında beyan edildiği haliyle Android uygulama kimliği. - İmzalama sertifikasının SHA256 parmak izleri.
- (Önerilir) Credential Manager API ile uygulanan kullanıcı oturum açma.
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:
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 veSHA_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şkileridelegate_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ı veoptional_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.
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
BuradaDOMAIN
tam niteliklidir ve HTTPS için 443 numaralı bağlantı noktası kullanılırkenOPTIONAL_PORT
atlanmalıdır.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üklenecekassetlinks.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
veOPTIONAL_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. Ancakinclude
ifadesini kullanmak, uygulamanızın yeni bir sürümünü yayınlamadan ifadeleri değiştirmenize olanak tanır.Uygulamanızın
<application>
altındakiAndroidManifest.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"/>
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.