Sahne Arkası: Kullanıcı İş Birliğini Çok Kiracılı Bir Uygulamada Nasıl Uyguluyoruz
Davetiye ve rol erişim yönetimi özelliğinin, Logto Cloud işbirliği gibi, çok kiracılı uygulamada nasıl uygulanacağına dair pratikler ve içgörüler.
Davetiye ve rol erişim yönetimi özelliğinin, Logto Cloud işbirliği gibi, çok kiracılı uygulamada nasıl uygulanacağına dair pratikler ve içgörüler.
Geçen hafta, Logto Cloud'daki işbirliği özelliğini tanıttık. Kaçırdıysanız, bir göz atın! Artık meslektaşlarınızı ve iş arkadaşlarınızı mevcut Logto kiracılarınıza davet ederek, uygulamalarınız için kimlik sistemini birlikte sürdürebilirsiniz.
Bu özellik güncellemesinde, her bir Logto kiracısına iki rol ekledik:
Kendi araçlarımızı kullanma taahhüdümüze uygun olarak, kullanıcı iş birliğini oluştururken RBAC (Rol Tabanlı Erişim Kontrolü) ve Organizasyonlar özelliğimizi kullandık. RBAC'ye yeniyseniz, başlamak için önceki yazımıza göz atın.
Bu blog yazısında, bu özelliği uygularken nelerin dahil olduğuna ve bu uygulamaların çok organizasyonlu uygulamalar geliştiriyorsanız size nasıl fayda sağlayabileceğine bakalım.
Her Logto Cloud kiracısı, sistemimizdeki bağımsız bir organizasyon olarak işlev görür ve kendi Organizasyonlar özelliğimiz tarafından desteklenir. Kiracı yönetici ve iş birlikçi rollerini tanıtmak için organizasyon şablonunda iki organizasyon rolü oluşturduk ve her biri belirli bir organizasyon izin setiyle atanmıştır.


Organizasyonlar özelliğinde davetle ilgili bir dizi Yönetim API'si sağladık. Bu API'ler ile, örneğin:
POST /api/organization-invitations bir e-posta adresine organizasyon daveti oluşturun ve gönderinGET /api/organization-invitations ve GET /api/organization-invitations/{id} davetlerinizi alınPUT /api/organization-invitations/{id}/status davet durumunu güncelleyerek daveti kabul edin veya reddedinDaha fazla ayrıntı için tam API dokümantasyonuna bakın.
Davetler e-posta ile gönderildiğinden, e-posta bağlayıcınızın doğru şekilde yapılandırıldığından emin olun. Bu güncellemede, davet e-posta şablonunun özelleştirilmesine olanak tanıyan yeni bir e-posta şablonu kullanım türü olan OrganizationInvitation tanıttık.

Bu e-posta şablonu, varsayılan olarak bir {{link}} değişkenini kabul eder, bu değişken Logto Konsol'unun iniş sayfasındaki bağlantıdır. Kullanıcılar bu sayfada daveti kabul edebilir ve bir Logto kiracısına katılabilirler. Logto Cloud'daki iniş sayfalarından biri aşağıdaki ekran görüntüsünde görünmektedir:

Yönetim API'si aracılığıyla davet e-postasını göndermek hakkında daha fazla ayrıntı için API dokümantasyonuna bakın.
Yukarıdaki yapılandırmalarla, e-posta aracılığıyla davetler gönderebiliriz ve davet edilenler atanmış rollerle organizasyona katılabilirler.
Farklı organizasyon rolleri olan kullanıcılar, erişim jetonlarında farklı kapsamlar (izinler) sahip olacaktır. Bu nedenle, hem istemci uygulaması (Logto Konsol) hem de arka uç hizmetlerimiz, görünür özellikleri ve izin verilen işlemleri belirlemek için bu kapsamları kontrol etmelidir.
Tamam, şimdiye kadar her şey bağlantılı görünüyor, başka neyi kaçırdık?
Erişim jetonlarında kapsam güncellemelerini yönetmek şunları içerir:
Logto Cloud'da, Konsol kullanıcı kapsamlarını SWR istekleri kullanarak aktif olarak kontrol eder ve bir kullanıcı yönetici olarak terfi ettirildiğinde otomatik olarak izin veririz.
Benzer bir özelliği RBAC ile uyguluyorsanız, kapsam güncellemeleri hakkında uygulamanızı bilgilendirmek, yeniden izin vermeyi sağlamak veya buna göre yeni erişim jetonları çıkarmak için bir mekanizmaya (örneğin, WebSocket veya sunucu itme olayları) ihtiyacınız olacaktır. Logto, gelecekteki güncellemelerde bu konuda daha fazla webhook sağlayacaktır.
Logto Cloud'un çok kiracılı ve işbirliği özellikleri, Organizasyonlar özelliğimizi kullanır. Benzer bir çok kiracılı uygulama geliştiriyorsanız, bu özelliği benzer yaklaşımlarla kullanmayı düşünün.
Umarım bu blog yazısı faydalı olmuştur. Sorularınız veya tartışmalar için, Discord kanalımıza katılmaktan çekinmeyin.