Gerçek kullanım durumları: Kimlik doğrulama sisteminizi web kancaları ile genişletme
Karşılama e-postaları göndermek, verileri veritabanınıza senkronize etmek, kullanıcı rolleri/izinlerini gerçek zamanlı olarak güncellemek ve üçüncü taraf analizlerle entegre etmek de dahil olmak üzere Logto web kancalarını kimlik doğrulama ve yetkilendirme için kullanmanın gerçek dünya örneklerini keşfedin.
Logto web kancası ile kullanıcı kaydı, oturum açma veya parolayı sıfırlama gibi belirli olaylar hakkında gerçek zamanlı güncellemeler alabilirsiniz, böylece sürekli güncellemeleri kontrol etmenize gerek kalmaz. Bir olay tetiklendiğinde, Logto belirtilen bir uç nokta URL'sine olayla ilgili bilgileri içeren bir HTTP isteği gönderir. Uygulamanız isteği alabilir ve verilere göre özelleştirilmiş eylemler gerçekleştirebilir, örneğin bir e-posta gönderme veya bir veritabanını güncelleme.
Logto konsolunda doğrudan bulamayabileceğiniz bazı yetenekler vardır, ancak kullanıcı davranışınızı izlemek için web kancasını kullanarak bu yeteneklere ulaşmayı düşünebilirsiniz.
Logto web kancalarının kullanım senaryoları
Web kancası, kimlik doğrulama sistemleri için sınırsız olasılıklar sunar. İşte bazı gerçek dünya kullanım durumları hakkında vereceğim örnekler:
1. E-posta veya bildirim gönder
“Logto Email'i, kullanıcılar için bir giriş bağlantısı içeren özel bir Hoş Geldiniz E-postası göndermek için kullanabilir miyim? Biz yalnızca Doğrulama Kodu ile giriş yapıyoruz, şifre yok.”
Logto'nun e-posta hizmeti şu anda doğrudan karşılama e-postalarını desteklemese de, bu web kancaları için klasik bir senaryodur. User.Created
olayını kullanın ve Uç Noktanız kullanıcı kayıt bilgilerini aldığında hemen kullanıcının e-posta adresine bir karşılama e-postası gönderin.
Benzer şekilde, rol güncellemelerinden sonra kullanıcıları bilgilendirin, yeni üyeler hakkında yöneticilere bilgi verin veya ekibinizin güncel kalmasını sağlamak için Slack veya Discord'a bot mesajları gönderin.
2. Veri senkronizasyonu
“Yönetici konsolunda bir kullanıcıyı sildiğimde, bunu diğer sistemlerle nasıl senkronize ederim?”
User.Deleted
olayını kullanarak kullanıcının silinme durumu değişikliğini alın ve diğer sistemlere senkronize edin. Ayrıca hemen kullanıcı oturumunu da temizleyebilirsiniz, bu çapraz uygulama kullanıcı yönetimi için faydalı olacaktır.
“Logto kiracım altında birkaç uygulamam var. Bir kullanıcı yaratımını algılamak ve bunun belli bir uygulama tarafından ele alındığından emin olmak için bir web kancasına ihtiyacım var.”
PostRegister
olayını kullanın ve Yük, birden fazla uygulama hizmetinin kişiselleştirilmiş deneyim tasarımını yapmanıza yardımcı olacak olan AppId
bilgisini içerecektir.
3. Ek API çağrıları gerçekleştirin
“Bir kullanıcının izinlerini değiştirdiğimde, değişikliğin etkili olması için tekrar giriş yapmaları gerekiyor. Bu otomatik hale gelebilir mi?”
Bir yönetici bir kullanıcının rolünü değiştirdiğinde veya kullanıcıya yeni izinler eklediğinde, varsayılan olarak kullanıcı yeniden giriş yapmalı veya erişim simgesini güncellemek için rıza göstermelidir. Yetkilendirme değişikliğinin hemen etkili olmasını istiyorsanız, bildirim için web kancasını User.Data.Updated
kullanabilir ve rızayı yeniden etkinleştirebilir veya buna göre yeni erişim simgeleri verebilirsiniz.
Ayrıca, kısa erişim simgesi son kullanma sürelerini kullanabilir veya kullanıcı rolleri ve izinlerini almak için Yönetim API uç noktalarını periyodik olarak çağırabilir, ancak yalnızca web kancaları aracılığıyla en zamanlı güncellemeleri alabilirsiniz.
“Her yeni kullanıcıyı veritabanıma eklemek, onları bir 'Kuruluşunuzu Ayarlayın' sayfasına yönlendirmek ve sonraki kullanıcılar için yalnızca kuruluş davetlerine izin vermek istiyorum. Logto bunu destekleyebilir mi?”
İlk olarak, verilerin senkronize edilmesi gerekir, yeni kullanıcıyı veritabanınıza eklemek için Post.Register
adlı web kancasını kullanın. Ardından, bir organizasyon ve davet ayarı için istem sayfasını tasarlamak üzere Logto yönetim API'sini kullanın.
4. Veri analizi
“Giriş yapan kullanıcıları izlemek için Logto'yu analiz aracım (Google Analytics, Umami, Plausible, vb.) ile bağlayabilir miyim?”
Kullanıcı girişleri veya yetkilendirme ile ilgili verileri analiz etmeniz gerekiyorsa, Logto'nun web kancası işlevini kullanabilirsiniz. Logto tarafından gönderilen web kancalarını dinleyebilir ve ardından verileri üçüncü taraf analiz araçlarına entegre edebilirsiniz.
Web kancalara ihtiyacınız olup olmadığını doğrulayın
Adım 1: İhtiyacınız olan Webhook olaylarını onaylayın
Webhook, hesap düzeyinde ve organizasyon düzeyinde olmak üzere iki kategoriye ayrılmıştır, tüm olaylar aşağıda gösterilmektedir:
Segmentasyon senaryolarınızı kolaylaştırmak ve eşleşen verileri elde etmek için detaylı olarak bölünmüştür. Bununla birlikte, aynı anda birden fazla olaydan bilgiye ihtiyacınız varsa, bir Webhook için birden fazla olayı seçebilirsiniz.
Not: “User Interaction” türü olaylar, kullanıcı arayüzündeki kullanıcı eylemlerini yakalar, yönetici tarafından başlatılan değişiklikler hariç tutulur. “User” türü olaylar, adminler ve son kullanıcılar tarafından yapılanlar dahil tüm kullanıcı eylemlerini kapsar. Örneğin, PostRegister
olayı Sign-in deneyimi sırasında kullanıcının kaydolmasını ifade ederken, User.Created
UI arayüzü üzerinden kullanıcı tarafından kaydedilen tüm yeni kullanıcıları ve yönetici tarafından eklenenleri içerir.
Adım 2: İstek yükünde almanız gereken bilgilerin olup olmadığını teyit edin
Farklı olaylar farklı bilgiler taşır, mevcut bilgilerin kullanım senaryolarınızın ihtiyaçlarını doğrudan karşılayıp karşılamadığını doğrulayabilirsiniz. Örneğin, id
, kullanıcı adı
, ana email
, profil
, customData
, kimlikler
, sonOturumAçmaTarihi
, oluşturulmaTarihi
, applicationId
, askıyaAlındı
, OrganizationId
, OrganizationRoleId
, OrganizationScopeId
, vb. Detaylar için Webhook isteği bölümüne bakın. Eğer değilse, ilgili kullanıcı bilgilerini almak için Yönetim API'sini de kullanabilirsiniz.
Adım 3: İleri seviye yetenekleri genişletmek için Yönetim API ile birleştirin
Logto Yönetim API 'ni kullanarak daha fazla yönetim ve işlev yapılandırması gerçekleştirebilirsiniz.
Sonuç
Logto webhook olayları geniş kapsamlı senaryoları kapsamakla kalmaz, aynı zamanda güvenli iletim sağlayarak İmza anahtarını doğrular ve Özel başlık kullanır. Ayrıca, Logto webhook kontrol panelini görüntüleyerek her bir webhook'un son 24 saatteki iletimini izleyebilirsiniz.