Sihirli bağlantı ile kimlik doğrulama
Parolasız oturum açma, davetiyeyle kayıt ve organizasyon üye davetleri için tek kullanımlık belirteçleri kullanarak sihirli bağlantıları nasıl uygulayacağınızı öğrenin.
Parolasız oturum açma, davetiyeyle kayıt ve organizasyon üye davetleri için tek kullanımlık belirteçleri kullanarak sihirli bağlantıları nasıl uygulayacağınızı öğrenin.
Sihirli bağlantı, bir kullanıcının email (veya SMS) yoluyla tek kullanımlık bir oturum açma URL'si aldığı, parolasız bir kimlik doğrulama yöntemidir. Bağlantıya tıklamak, parola gerektirmeden oturum açılmasını sağlar.
İşte sihirli bağlantıların bazı ana güvenlik özellikleri:
Bir sihirli bağlantı şunlardan oluşur:
Örneğin, bir sihirli bağlantı şu şekilde görünebilir:
Bir sihirli bağlantı oluşturmak için bir tek kullanımlık belirteç üretmeniz, bunu güvenli bir şekilde kullanıcıya göndermeniz ve ardından kullanıcı bağlantıya tıkladığında doğrulamanız gerekir.
Tek kullanımlık belirteç oluşturmak için Logto Yönetim API'sini kullanın.
Örnek istek gövdesi yükü:
Tek kullanımlık belirteci aldıktan sonra, bir sihirli bağlantı oluşturabilir ve bunu son kullanıcının email adresine gönderebilirsiniz. Sihirli bağlantı en azından belirteç ve kullanıcı emailini parametre olarak içermeli ve kendi uygulamanızda bir açılış sayfasına yönlendirmelidir. Örneğin https://yourapp.com/landing-page.
İşte sihirli bağlantının nasıl görünebileceğine dair basit bir örnek:
Not:
Sihirli bağlantıdaki parametre adları tamamen özelleştirilebilir. Uygulamanızın gereksinimlerine göre sihirli bağlantıya ek bilgi ekleyebilir ve tüm URL parametrelerini kodlayabilirsiniz.
Son kullanıcı sihirli bağlantıya tıkladıktan ve uygulamanıza yönlendirildikten sonra, URL'den token ve email parametrelerini çıkarabilir ve ardından Logto SDK'sından signIn() fonksiyonunu çağırarak kimlik doğrulama akışını tetikleyebilirsiniz.
Daha fazla ayrıntı için Logto Belgeleri - Sihirli Bağlantı (Tek Kullanımlık Belirteç) bölümünü kontrol edin.
Sihirli bağlantılar ilk faktör kimlik doğrulama adımının yerini alabilir, ancak Çok Faktörlü Kimlik Doğrulama'ya (MFA) bypass yapamaz.
Logto'da, tek kullanımlık bir belirteç ile bir sihirli bağlantı oluştururken, bunun oturum açma veya oturum açma için olup olmadığı belirtilmesine gerek yoktur. Email'in kayıt durumuna göre akışı otomatik olarak belirleriz:
Logto, aşağıdaki senaryoları sihirli bağlantılar ile destekler:
Şu anda desteklenmiyor:
Daha fazla özelleştirmeye ihtiyacınız varsa bize bildirin.
Dahili testteki yeni ürünler (Örn: AI araçlar) veya iç araçlar için, genel kaydı devre dışı bırakmak ve yalnızca belirli kullanıcıların uygulamanıza erişmesine izin vermek isteyebilirsiniz. Bunu Logto ile uygulamak için:
Konsol > Oturum açma deneyimi > Oturum açma ve kaydolma > Gelişmiş seçenekler, "Kullanıcı kaydını etkinleştir" seçeneğini kapatın.

Davet etmek istediğiniz kullanıcıların email adreslerini toplayın (örn. web siteniz veya mevcut kullanıcıların tavsiyeleri aracılığıyla).
Tek kullanımlık belirteç isteyin, sihirli bağlantıyı oluşturun ve Logto SDK ile kimlik doğrulama işlemi başlatın.
Not: Davet bağlantısının bir sona erme süresi olmasını ayarlayın. Bağlantının en az bir gün geçerli olmasını öneririz. Tek kullanımlık belirteci oluşturmak için aşağıdaki istek gövdesini kullanın:
Kullanıcının email adresine sihirli bağlantıyı gönderin (örn. https://yourapp.com/landing-page?type=registrationInvitation&token=YHwbXSXxQfL02IoxFqr1hGvkB13uTqcd&[email protected]). Email şablonunu özelleştirin, örneğin:

Kullanıcılar "Davetiyeyi kabul et"e tıkladığında, genel kayıt kapalı olsa bile hizmetinize otomatik olarak kayıt olacaklardır. Bu "Hedeflenen kullanıcı daveti" olarak adlandırılır.
Çok kiracılı ürünler (Örn: SaaS uygulamaları gibi Slack, GitHub, Vercel) için organizasyon üyeliklerini yönetmek amacıyla sorunsuz bir üyelik davet sürecini sağlayın. Üyelik davetlerinde daha yüksek dönüşüm oranları için sihirli bağlantılar kullanın.
Logto Belgeleri'ni izleyerek organizasyon yaratma, organizasyon rol tabanlı erişim kontrolü ve organizasyon yönetimini uygulayın: Logto Organizations.
Ürününüzde "Üyeleri davet et" akışını ayarlayın. Örnek:

Organizasyon Üyelerini Davet Et kılavuzunu takip edin. Not: Üyeleri davet ederken istek yükünün şunları içerdiğinden emin olun:
Kullanıcının katılacağı organizasyonları belirtmek için context: jitOrganizationIds.
Kullanıcılara daveti kabul etmeleri için yeterli süre sağlamak amacıyla daha uzun bir expiresIn zamanı ayarlayın (örneğin, 2 gün veya 1 hafta).
Örnek istek yükü:
Sihirli davet bağlantısını kullanıcının email adresine gönderin (örn. https://yourapp.com/landing-page?type=organizationMemberInvitation&token=YHwbXSXxQfL02IoxFqr1hGvkB13uTqcd&[email protected]). Email şablonunuzu özelleştirin, örneğin:

Kullanıcılar **"Davetiyeyi kabul et"**e tıkladığında, otomatik olarak oturum açacak veya kayıt olacak ve organizasyona katılacaklardır.
Bir kullanıcı zaten oturum açmışsa ve başka bir sihirli bağlantıya tıklarsa ne olur?
Hesap çakışmalarını doğru şekilde yönetmek için şunları sağlayın:
login eklemekten kaçının: Oturum açma isteminin login içerdiği ayarlamaktan kaçının. Yanlış ayarlanmışsa, Logto sihirli bağlantı belirteciyle ilişkilendirilen hesabı otomatik olarak oturum açacak ve hesap değiştirme istemini atlayacaktır.signIn() fonksiyonu çağrılırken mevcut belirteçlerin temizlenmesini önlemek için clearTokens: false parametresini belirtin. Bu seçenek kullanıldığında, oturum açma geri çağırma sayfasında belirteçleri manuel olarak temizlemeniz gerektiğinden emin olun.Doğru yapılandırmadan sonra kullanıcı deneyimi aşağıdaki gibi olacaktır:

Kullanıcılar geçersiz bir sihirli bağlantıya tıkladıklarında, sorunun ne olduğunu açıklayan bir hata sayfasına yönlendirilecektir. İşte olası hata senaryoları ve mesajları:
| İsim | Açıklama |
|---|---|
| token_not_found | Verilen email ve belirteç ile aktif belirteç bulunamadı. |
| email_mismatch | Verilen belirteç ile email uyuşmuyor. |
| token_expired | Belirteç süresi doldu. |
| token_consumed | Belirteç tüketildi. |
| token_revoked | Belirteç iptal edildi. |
| cannot_reactivate_token | Belirteç yeniden etkinleştirilemiyor. |
Her hata sayfası, kullanıcıların geçersiz sihirli bağlantıların arkasındaki nedeni anlamalarına ve bir sonraki adımlar konusunda yönlendirilmesine yardımcı olacak belirli bir mesaj sağlayacaktır. Örneğin:

Logto, esnek ve parolasız oturum açma akışları ile kapsamlı güvenlik sağlar ve sihirli bağlantılar kullanarak kullanıcı deneyimlerini kolaylaştırır. Kullanıcılarınızı bir organizasyona davet ederken, onları zahmetsizce hesap oluşturma veya sorunsuz kimlik doğrulama ile karşılaştırırken basit ama güçlü bir yol sunar. Logto, hesap çakışmaları veya süresi dolmuş belirteçler gibi zorlu durumları ele alarak kullanıcılarınıza güvenli ve sorunsuz bir süreç sunar.
IAM'inizi güçlü kimlik doğrulama ile modernleştirmeye hazır mısınız?