FedCM'de otomatik yeniden kimlik doğrulamayı destekleme

Chrome, FedCM'de otomatik yeniden kimlik doğrulamayı destekliyor

Federated Credential Management API (FedCM): web API'si ile kullanıma sunuyoruz. Kimlik federasyonu sayesinde Kısıtlanmış taraf, kullanıcıya bir IdP (Kimlik Sağlayıcı) sağlamak için IdP'den (kimlik sağlayıcı) yararlanır: ve yeni bir kullanıcı adı ve şifre girmeden hesabınıza erişim sağlayabilirsiniz.

FedCM, tarayıcının RP ve IdP'nin hangi bağlamda yer aldığını anlamasına olanak tanır. bilgi alışverişinde bulunmaktır. Kullanıcıyı, kullanıcıya gösterilen bilgi ve ayrıcalık hakkında ve istenmeyen kötüye kullanımı önler. FedCM kullanıma sunulduğu diller: 108 sürümünden itibaren Chrome.

Chrome 115'te FedCM, otomatik yeniden kimlik doğrulama desteği alıyor. hem de RPG için yeniden kimlik doğrulamanın daha kolay gerçekleşmesini sağlar. kullanıcı rızası alınmalıdır.

Otomatik yeniden kimlik doğrulama

Şu anda, kullanıcı bir IdP ile RP'de birleşik hesap oluşturduktan sonra üzerinden iletişim kurmayı tercih ediyor. Kullanıcı arayüzünde aynı adımları tamamlamaları için gereken web sitesini ziyaret etmelidir. Bu durumda, kullanıcının oturum açma işlemini açık ve manuel olarak kimliğinizi doğrulayın ve oturum açma akışına devam edin.

Uygunsuz kullanıcı deneyimi, kullanıcı sayfayı oluşturmadan önce mantıklı olsa da bir birleşik hesap oluşturarak (FedCM'nin ana hedeflerinden biridir) ve kullanıcı bir kez geçtikten sonra gereksiz bir şekilde zahmetli bir hale gelir. Kullanıcı, Kısıtlanmış Taraf ile IdP arasında iletişime izin verme izni verdiğinde, Başka bir uygunsuz kullanıcıyı zorunlu kılmanın gizlilik veya güvenlik açısından faydası yoktur zaten onayladıkları bir işlem için onay almış olurlar. Bu nedenle, RP'lerin tercih edebileceği daha basit bir kullanıcı deneyimi sunuyoruz. geri gelen kullanıcıları bulmaktır.

FedCM otomatik yeniden kimlik doğrulama (kısaca "auto-reauthn") kimlik doğrulama işlemi, kullanıcılarınızın herhangi bir anda geri dönmelerini sağlamak istiyor. "İlk kimlik doğrulama Burada, kullanıcının bir hesap oluşturması veya Kısıtlanmış Taraf'ın web sitesinde değişiklik yapmak için FedCM'nin oturum açma iletişim kutusunda "Şu kullanıcı olarak devam et..." düğmesine dokunun: aynı tarayıcı örneğinde yapılıyor.

Kullanıcının hesap oluşturmak veya kimlik doğrulaması yapmak için dokunduğu iletişim kutusu.
Hesap oluşturmak veya kimlik doğrulaması yapmak için kullanıcının dokunduğu iletişim kutusu.

Otomatik yeniden kimlik doğrulama için bir seçenek belirleyin

Daha iyi bir kullanıcı deneyimi sunmak ve herhangi bir kod olmadan varsayılan kullanıcı deneyimi farklı olur unutmayın. Otomatik yeniden kimlik doğrulama kullanılabilir olduğunda tarayıcı, davranışını Geliştiricilerin sağladığı mediation seçeneğinde belirlediğiniz seçeneğe navigator.credentials.get().

const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: "https://idp.example/fedcm.json",
      clientId: "1234",
    }],
  },
  mediation: 'optional', // this is the default
});

mediation, Kimlik Bilgisi Yönetimi'ndeki bir özelliktir API, aynı şekilde davrandığı için aynı şekilde çok önemlidir CANNOT TRANSLATE PasswordCredential ve FederatedCredential tarafından kısmen destekleniyor. PublicKeyCredential de faydalı olabilir. Mülk, aşağıdaki dört değeri kabul eder:

  • 'required': Devam etmek için her zaman uyumlulaştırma gerektirir. Örneğin, "Devam" düğmesini tıklayın. Kullanıcılarınızın şunları yapması bekleniyorsa bu seçeneği belirleyin: kimlik doğrulamalarının olması gerektiğinde bu izni açıkça vermelidir.
  • 'optional'(varsayılan): Mümkünse otomatik yeniden kimlik doğrulama, değilse uyumlulaştırma gerektirir. Biz oturum açma sayfasında bu seçeneği belirlemenizi öneririz.
  • 'silent': Mümkünse otomatik yeniden kimlik doğrulama, arabuluculuk yapılmalıdır. Bu seçeneği, oturum açma sayfasını, yalnızca kullanıcıların oturumlarını açık tutmasını kargo web sitesindeki bir öğe sayfası veya bir haberdeki makale sayfası web sitesi.
  • 'conditional': WebAuthn için kullanılır ve şu anda FedCM için kullanılamaz.

Bu çağrıyla, otomatik yeniden kimlik doğrulama aşağıdaki koşullarda gerçekleşir:

  • FedCM kullanılabilir. Örneğin, kullanıcı FedCM'yi devre dışı bırakmamış global olarak ya da ayarlarda kısıtlanmış taraf için gösterilir.
  • Kullanıcı, bu web sitesinde oturum açmak için FedCM API ile yalnızca bir hesap kullanmıştır. emin olun.
  • Kullanıcı, IdP'de bu hesapla oturum açtı.
  • Otomatik yeniden kimlik doğrulama işlemi son 10 dakika içinde gerçekleşmedi.
  • Kısıtlanmış taraf çağrı yapmadı. Sonrasında navigator.credentials.preventSilentAccess() tekrar deneyin.

Yukarıdaki koşullar karşılandığında otomatik olarak yeniden kimlik doğrulama denemesi kullanıcı, FedCM navigator.credentials.get() çağrıldığı anda başlar.

FedCM aracılığıyla otomatik olarak yeniden kimlik doğrulayan bir kullanıcı.

preventSilentAccess() ile uyumlulaştırmayı zorunlu kılın

Kullanıcıların oturumlarını kapattıktan hemen sonra otomatik olarak yeniden kimlik doğrulaması, çok iyi bir kullanıcı deneyimi sağlar. Bu nedenle, FedCM'nin bu davranışı önlemek için otomatik olarak yeniden kimlik doğrulama gerekir. Bu, otomatik yeniden kimlik doğrulamanın kullanıcı 10 dakikada bir tekrar oturum açmazsa 10 dakika. Kısıtlanmış taraf, şu adreslerle ilgili olarak navigator.credentials.preventSilentAccess() Kullanıcı oturumunu kapattığında otomatik yeniden kimlik doğrulamayı devre dışı bırakmasını açıkça isteme Kısıtlanmış Taraf'ı açıkça (ör. oturumu kapatma düğmesini tıklayarak) paylaşabilirsiniz.

function signout() {
  navigator.credentials.preventSilentAccess();
  location.href = '/signout';
}

Kullanıcılar, ayarlardan otomatik yeniden kimlik doğrulamayı devre dışı bırakabilir

Kullanıcılar, ayarlar menüsünden otomatik yeniden kimlik doğrulamayı devre dışı bırakabilir:

  • Masaüstü Chrome'da chrome://password-manager/settings > Oturum aç otomatik olarak oluşturur.
  • Android Chrome'da Ayarlar'ı açın > Şifre Yöneticisi > Bir dişli simgesini > Otomatik oturum aç'a dokunun.

Açma/kapatma düğmesi devre dışı bırakıldığında kullanıcı otomatik yeniden kimlik doğrulamanın tüm kapsamı dışında kalmayı seçebilir. birlikte. Bu ayar cihazlar arasında depolanır ve senkronize edilir. Chrome örneğinde bir Google hesabında oturum açmış etkin.

Geri bildirim

FedCM'yi test ediyorsanız geri bildiriminizi veya karşılaştığınız sorunları paylaşabilirsiniz crbug.com adresinde "Blink>Identity>FedCM" bileşeninin altında bulabilirsiniz.

Fotoğraf: Noah Samuel Franz'ın Unsplash'te