Çok kiracılı bir SaaS uygulaması oluşturun: Tasarımdan uygulamaya eksiksiz bir kılavuz
Güçlü kimlik doğrulama, organizasyon yönetimi ve rol tabanlı erişim kontrolü ile çok kiracılı bir SaaS uygulamasını verimli bir şekilde nasıl oluşturacağınızı birkaç saat içinde öğrenin.
Notion, Slack veya Figma gibi uygulamalar nasıl inşa edilir? Bu çok kiracılı SaaS uygulamaları kullanımı kolaymış gibi görünüyor, ancak kendinizi mi inşa ediyorsunuz? Bu farklı bir hikaye.
Bu kadar karmaşık bir şeyi inşa etmeyi ilk düşündüğümde, aklım allak bullak oldu:
Kullanıcıların birden fazla oturum açma seçeneğine ihtiyacı var (e-posta, Google, GitHub)
Her kullanıcı birden fazla organizasyon oluşturabilir ve bunlara ait olabilir
Her organizasyon içinde farklı izin seviyeleri
Belirli e-posta alan adları için otomatik katılım gerektiren kurumsal organizasyonlar
Hassas işlemler için MFA gereksinimleri
...
"Patron, ürün tasarımı hakkında iki hafta sonra konuşalım. Şu anda çamura saplanmış durumdayım."
Ama gerçekten üzerinde çalışmaya başladığımda, göründüğü kadar göz korkutucu olmadığını buluyorum.
Bu özelliklerin tümüne sahip bir sistemi İKİ SAATİN ALTINDA inşa ettim!
Size böyle bir sistemi baştan sona nasıl tasarlayacağınızı ve uygulayacağınızı göstereceğim - ve 2025 yılında modern araçlar ve doğru mimari yaklaşım ile ne kadar basit olduğunu görünce şaşıracaksınız.
Makalenin sonunda tamamı kaynak kodu mevcut. Dalmaya başlayalım!
Bir AI dokümantasyon SaaS ürünü olan DocuMind ile başlayacağız.
DocuMind, bireysel kullanıcıları, küçük işletmeleri ve işletmeleri desteklemek için çok kiracılı bir model ile tasarlanmış bir AI dokümantasyon SaaS ürünü.
Platform, organizasyonlar içinde otomatik özet oluşturma, önemli noktaların çıkarılması ve akıllı içerik önerileri dahil olmak üzere belgelerin yönetimi için güçlü AI özellikleri sunmaktadır.
SaaS kimlik doğrulama ve yetkilendirme için hangi özelliklere ihtiyaç var?#
Öncelikle, gerekli gereksinimleri gözden geçirelim. Hangi özelliklere ihtiyaç duyuyorsunuz?
Çok kiracılı bir mimariyi etkinleştirmek için organizasyon adı verilen bir varlık katmanına ihtiyacınız olacak. Birden fazla çalışma alanına erişebilen tek bir kullanıcı havuzuna sahip olduğunuzu hayal edin. Her bir organizasyon bir çalışma alanını temsil eder ve kullanıcılar, atandıkları rollere göre farklı çalışma alanlarına (organizasyonlar) erişirken tek bir kimlik sürdürür.
Kimlik doğrulama sağlayıcılarında yaygın olarak kullanılan bir özelliktir. Bir kimlik yönetim sistemindeki bir organizasyon, SaaS uygulamanızın çalışma alanı, proje veya kiracısı ile eşleşir.
Bir üye, bir kimliğin organizasyon içerisindeki üyelik durumunu belirtmek için kullanılan geçici bir kavramdır.
Örneğin, Sarah uygulamanıza e-posta adresini kullanarak kaydolur, [email protected]. Farklı çalışma alanlarına ait olabilir. Sarah Çalışma Alanı A'nın bir parçasıysa ancak Çalışma Alanı B'nin bir parçası değilse, Çalışma Alanı A'nın bir üyesi olarak kabul edilir, ancak Çalışma Alanı B'nin üyesi olarak kabul edilmez.
Çok kiracılı bir mimaride, kullanıcıların kiracı kaynaklarına erişmek için belirli izinlerlerollere ihtiyacı vardır.
İzinler, belirli eylemleri tanımlayan ayrıntılı erişim kontrolüdür, read: order veya write: order gibi. Belirli kaynaklarda hangi işlemlerin yapılabileceğini belirlerler.
Roller, çok kiracılı bir ortamda üyelere atanan izinlerdir.
Bu rolleri ve izinleri tanımlamanız, ardından rolleri kullanıcılara atamanız ve bazen otomatik işlemleri içerebilir. Örneğin:
Bir organizasyona katılan kullanıcılar otomatik olarak üye rolünü alır.
Bir çalışma alanı oluşturan ilk kullanıcıya otomatik olarak yönetici rolü atanır.
Çok kiracılı bir SaaS uygulamasında, kullanıcı akışı açısından önemli bir fark, kiracı oluşturma ve üye davetlerini destekleme gerekliliğidir. Bu süreç, ürün aktivasyonu ve büyümedeki kilit rolü nedeniyle dikkatli bir planlama ve uygulama gerektirir.
Dikkate almanız gereken birkaç tipik kullanım akışı vardır:
Kullanıcı türü
Giriş noktası
Yeni hesap
Yeni bir kiracı oluşturmak için oturum açma ve kayıt sayfasından girin
Mevcut hesap
Ürün içerisinde başka bir kiracı oluşturun
Mevcut hesap yeni bir kiracı daveti aldı
Oturum açma ve kayıt sayfasından girin
Mevcut hesap yeni bir kiracı daveti aldı
Davet e-postaından girin
Yeni hesap yeni bir kiracı daveti aldı
Oturum açma ve kayıt sayfasından girin
Yeni hesap yeni bir kiracı daveti aldı
Davet e-postaından girin
Bu süreç, neredeyse her SaaS uygulamasında karşılaşılan yaygın senaryoları içerir. Bunları ürün ve tasarım ekibinizi ilhamlandırmak için referans olarak kullanın ve ihtiyaç duydukça kendi akışlarınızı oluşturmaktan çekinmeyin.
Kimlik doğrulama korkutucu görünüyor. Kullanıcıların şunlara ihtiyacı var:
E-posta ve parola ile kaydolma/giriş yapma
Google/Github ile tek tıklamayla oturum açma
Parolayı unuttuklarında parolayı sıfırlama
Kurumsal müşteriler için ekip genelinde oturum açma
...
Sadece bu temel özellikleri uygulamak haftalar sürebilir.
Ama şimdi, bunların HİÇBİRİNİ kendimiz inşa etmek zorunda değiliz!
Modern kimlik doğrulama sağlayıcıları (bu kez Logto seçeceğim) bizim için tüm bu özellikleri paketledi. Kimlik doğrulama akışı basittir:
Haftalar süren geliştirmeden 15 dakikalık kurulum, Logto tüm karmaşık akışları bizim için hallediyor! Entegrasyon adımlarını daha sonra uygulama bölümünde açıklayacağız. Şimdi DocuMind temel özelliklerini oluşturmaya odaklanabiliriz!
Organizasyon sistemi, kullanıcıların birden fazla organizasyon oluşturmasını ve bunlara katılmasını sağlar. Temel ilişkileri anlayalım:
Bu sistemde, her kullanıcı birden fazla organizasyona ait olabilir ve her organizasyonda birden fazla üye bulunabilir.
Çok kiracılı uygulamada erişim kontrolünü etkinleştir#
Rol Tabanlı Erişim Kontrolü (RBAC), çok kiracılı SaaS uygulamalarında güvenliği ve ölçeklenebilirliği sağlamak için önemlidir.
Çok kiracılı bir uygulamada, izinler ve rollerin tasarımı genellikle tutarlıdır, çünkü ürün tasarımından kaynaklanır. Örneğin, birden fazla çalışma alanında, genellikle bir yönetici rolü ve bir üye rolü bulunur. Kimlik doğrulama sağlayıcısı olarak Logto, organizasyon seviyesinde rol tabanlı erişim kontrolünü şu şekilde tasarlamıştır:
Birleşik izin tanımları: İzinler, sistem seviyesinde tanımlanır ve tüm organizasyonlar arasında tutarlı ve sürdürülebilir izin yönetimini sağlar
Organizasyon şablonları: Organizasyon başlangıç aşamasını basitleştiren önceden tanımlı rol ve izin kombinasyonları
İzin ilişkisi şu şekildedir:
Her kullanıcının kendi organizasyonu içinde bir rol(e)/rolleri olması gerektiği için, roller ve organizasyonlar arasındaki ilişki, her kullanıcıya atanan rolleri yansıtmalıdır:
Artık organizasyon sistemi ve erişim kontrol sistemi tasarladık, şimdi ürünümüzü oluşturmaya başlayabiliriz!
Önyüz: React (Vue/Angular/Svelte'e kolayca transfer edilebilir)
Arka uç: Express (basit, sezgisel API)
Neden önyüz ve arka ucu ayırıyoruz? Çünkü net bir mimariye sahip, öğrenmesi kolay ve yığınları değiştirmesi basitse. Ve kimlik doğrulama sağlayıcıları için, bir örnek olarak Logto kullanıyorum.
Ve sonraki kılavuzlar için, bu kalıplar: Herhangi bir ön yüz, herhangi bir arka uç ve herhangi bir kimlik doğrulama sistemi ile çalışır.
Uygulamanıza temel kimlik doğrulama akışı ekleyin#
Bu, en kolay adımdır. Projemize Logto'yu entegre etmemiz yeterli. Ardından Logto Konsolu'nda kullanıcı giriş/kayıt yöntemlerini ihtiyacımıza göre yapılandırabiliriz.
İlk olarak, Logto Cloud adresine giriş yapın. Eğer bir hesaba sahip değilseniz, ücretsiz bir hesap oluşturarak kaydolabilirsiniz. Test amaçlı bir Geliştirme Kiracısı oluşturun.
Kiracı Konsolu'nda, sol tarafta "Uygulama" düğmesine tıklayın. Ardından uygulamamızı oluşturmaya başlamak için React'i seçin.
Sayfadaki kılavuzu takip edin. Logto entegrasyonunu yaklaşık 5 dakika içinde tamamlayabilirsiniz!
İşte entegrasyon kodum:
İşte faydalı bir ipucu: Giriş sayfamızda hem Giriş hem de Kayıt düğmeleri bulunur. Kayıt düğmesi Logto'nun kayıt sayfasına doğrudan gider. Bu, Logto'nun ilk ekran özelliği aracılığıyla çalışır. Oturum açma akışının hangi adımını kullanıcıların ilk olarak görmesi gerektiğini belirler.
Ürününüz birçok yeni kullanıcı beklediğinde varsayılan olarak kayıt sayfasını seçebilirsiniz.
Girişe tıkladıktan sonra, Logto giriş sayfasına gideceksiniz. Giriş yaptıktan (veya kaydolduktan) sonra tebrikler! Uygulamanızın ilk kullanıcısı (siz)!
Ve kullanıcı oturumunu kapatmak istediğinizde kullanıcıyı oturumdan çıkarmak için useLogto kancasından signOut işlevini çağırın.
Logto Konsolu'nda, sol menüde "Giriş Deneyimi"ne tıklayın. Ardından "Kayıt ve giriş" sekmesine tıklayın.
Bu sayfada, Logto'nun giriş/kayıt yöntemlerini yapılandırma talimatlarına göre ayarlayın.
Bir kullanıcının organizasyon bilgilerini Logto'dan almak için şu iki adımı izleyin:
Logto Yapılandırmasında organizasyon bilgilerine erişim beyan edin. Bu, uygun scope ve resources belirleyerek yapılır.
Logto'nun fetchUserInfo metodunu kullanarak kullanıcı bilgilerini, organizasyon bilgileri dahil almak.
Bu adımları tamamladıktan sonra oturumu kapatıp tekrar giriş yapmanız gerekir. Bu, talep edilen kapsam ve kaynağı değiştirdiğimiz için gereklidir.
Şu anda henüz herhangi bir organizasyon oluşturmadınız. Kullanıcı henüz hiçbir organizasyona katılmadı. Gösterge paneli "Henüz herhangi bir organizasyona sahip değilsiniz" gösterecektir.
Bir sonraki adımda kullanıcılarımız için bir organizasyon oluşturup onları ekleyeceğiz.
Logto sayesinde, karmaşık organizasyon ilişkileri oluşturmak zorunda değiliz. Sadece Logto'da bir organizasyon oluşturup kullanıcıları eklememiz yeterli. Tüm karmaşıklığı Logto halleder. Organizasyonları oluşturmanın iki yolu vardır:
Logto Konsolu aracılığıyla manuel olarak organizasyonlar oluşturmak
Kullanıcıların kendi organizasyonlarını (çalışma alanlarını) oluşturmalarını sağlayan bir SaaS akışı tasarlarken Logto Yönetim API'sini kullanmak.
Logto Konsolu sol tarafında "Organizasyonlar" menü düğmesine tıklayın. Bir organizasyon oluşturun.
Şimdi ilk organizasyonunuzu oluşturdunuz.
Sonra, kullanıcıya bu organizasyona ekleyeceğiz.
Organizasyon detaylar sayfasına gidin. Üyeler sekmesine geçin. "+ Üye ekle" düğmesine tıklayın. Giriş yapmış kullanıcınızı sol listeden seçin. Sağ alt köşedeki "Üyeleri ekle" düğmesine tıklayın. Şimdi kullanıcıyı başarıyla bu organizasyona eklediniz.
APP sayfanızı yenileyin. Kullanıcının artık bir organizasyona ait olduğunu göreceksiniz!
Kendi kendine hizmet organizasyon oluşturma deneyimini uygulayın#
Konsolda bir organizasyon oluşturmak yeterli değil. SaaS uygulamanız, son kullanıcıların kendi çalışma alanlarını kolayca oluşturup yönetebilecekleri bir akışa sahip olmalıdır. Bu işlevselliği uygulamak için Logto Yönetim API'sini kullanın.
Önce, organizasyon oluşturmak için arka uç hizmetimizde bir API uç noktası oluşturalım.
Arka uç hizmet API'miz sadece kimliği doğrulanmış kullanıcılara izin verir. Logto'yu API'mizi korumak için kullanmamız gerekir. Ayrıca mevcut kullanıcının bilgilerini (örneğin, kullanıcı kimliği gibi) bilmemiz de gerekir.
Logto'nun kavramında (ve OAuth 2.0'da), arka uç hizmetimiz bir kaynak sunucusu olarak hareket eder. Kullanıcılar, önyüzden aldıkları Erişim tokenı ile DocuMind kaynak sunucusuna erişirler. Kaynak sunucu, bu tokenı doğrular. Eğer geçerliyse, istedikleri kaynakları sağlar.
Bir API Kaynağı oluşturarak arka uç hizmetimizi temsil edelim.
Logto Konsolu'na gidin.
Sağdaki "API kaynakları" düğmesine tıklayın.
"API kaynağı oluştur" düğmesine tıklayın. Açılır pencerede Express'i seçin.
"DocuMind API" adıyla bir API adı girin. API tanımlayıcı olarak "https://api.documind.com" kullanın.
Oluşturun.
Bu API tanımlayıcı URL'si hakkında endişelenmeyin. Logto'daki API'nize özel bir tanımlayıcıdır. Gerçek arka uç hizmet URL'nizle bağlantılı değildir.
API kaynağınızı kullanmak için bir eğitim göreceksiniz. Bu eğitimi veya aşağıdaki adımları takip edebilirsiniz.
POST /organizations uç noktasını korumak için bir requireAuth ara yazılımcısı oluşturalım.
Bu ara yazılımı kullanmak için bu ortam değişkenlerine ihtiyacımız var:
LOGTO_JWKS_URL
LOGTO_ISSUER
Bu değişkenleri Logto kiracınızın OpenID Konfigürasyon uç noktasından alın. https://<your-tenant-id>.logto.app/oidc/.well-known/openid-configuration adresine gidin. Dönülen JSON'da gerekli bilgileri bulacaksınız:
Şimdi POST /organizations uç noktasında requireAuth ara yazılımını kullanın.
Bu, POST /organizations uç noktamızı korumaktadır. Sadece geçerli Logto erişim tokenına sahip kullanıcılar erişebilir.
Şimdi token'ı önyüzümüzde Logto'dan alabiliriz. Kullanıcılar, bu token ile arka uç hizmetimiz aracılığıyla organizasyonlar oluşturabilir. Ara yazılım ayrıca kullanıcı kimliğini de sağlar. Bu, kullanıcıları organizasyonlara eklerken yardımcı olur.
Ön kodda, bu API kaynağını Logto yapılandırmasında belirtin. Tanıtıcısını kaynaklar dizisine ekleyin.
Daha önce olduğu gibi, Logto yapılandırmasını güncelledikten sonra kullanıcıların tekrar oturum açması gerekir.
Dashboard'da, bir organizasyon oluştururken Logto Erişim Tokenını alın. Bu tokenı kullanarak arka uç hizmet API'mize erişin.
Şimdi DocuMind arka uç hizmet API'mize doğru bir şekilde erişebiliriz.
Logto Konsolu'nda uygulamalar sayfasına gidin. Makine-makine bir uygulama oluşturun. "Logto Yönetim API erişimi" rolünü atayın. Token uç noktasını, Uygulama ID'sini ve Uygulama Şifresini kopyalayın. Bu kimlik bilgilerini Erişim tokenları için kullanacağız.
Bu M2M uygulaması aracılığıyla artık Logto Yönetim API erişim tokenlarını alabiliriz.
Bu erişim tokenını kullanarak Logto Yönetim API'sini arayın.
Logto Yönetim API aracılığıyla organizasyon oluşturmayı hayata geçirdik. Ayrıca kullanıcıları organizasyonlara ekleyebiliriz.
Bu özelliği Dashboard'da test edelim.
ve "Organizasyon Oluştur"a tıklayın
Oluşturma başarılı!
Bir sonraki adımda organizasyona kullanıcı davet etmek olacaktır. Bu özelliği henüz tutorialımızda uygulamayacağız. Yönetim API'sini nasıl kullanacağınızı zaten biliyorsunuz. Bu Kiracı oluşturma ve davet blog gönderisini ürün tasarım referansı olarak inceleyebilir ve bu yazı aracılığıyla kolayca bu özelliği uygulayabilirsiniz: Kendi uygulamanızda kullanıcı işbirliğini nasıl hayata geçireceğiz.
Çok kiracılı uygulamanıza erişim kontrolünü uygulayın#
Şimdi organizasyon erişim kontrolüne geçelim.
Başarmak istediğimiz şeyler:
Kullanıcılar yalnızca kendi organizasyonlarına ait kaynaklara erişebilir: Bu, Logto'nun organizasyon tokenı aracılığıyla yapılabilir
Kullanıcılar organizasyonlar içinde belirli rollere sahip (farklı izinler içeren) yetkili işlemleri gerçekleştirmek için rollere sahip: Bu, Logto'nun organizasyon şablonu özelliği aracılığıyla hayata geçirilebilir
Daha önce bahsettiğimiz Logto erişim tokenına benzer şekilde, Logto belirli bir kaynağa karşılık gelen bir erişim tokenı çıkarır ve kullanıcılar bu tokenı kullanarak arka uç hizmetindeki korunan kaynaklara erişirler. Benzer şekilde Logto, belirli bir organizasyona karşılık gelen bir organizasyon tokenı çıkarır ve kullanıcılar bu tokenı kullanarak arka uç hizmetindeki korunan organizasyon kaynaklarına erişirler.
Ön uygulamada, Logto'nun getOrganizationToken metodunu kullanarak belirli bir organizasyon için bir token elde edebiliriz.
Bu organizationId, kullanıcının ait olduğu organizasyonun id'sidir.
getOrganization veya herhangi bir organizasyon özelliklerini kullanmadan önce Logto yapılandırmasında urn:logto:scope:organizations kapsamının ve urn:logto:resource:organizations kaynağının dahil olduğundan emin olmamız gerekir. Daha önce bunları beyan ettiğimiz için tekrar etmeyeceğiz.
Örgüt sayfamızda, organizasyondaki belgeleri almak için organizasyon tokenını kullanırız.
Bu uygulamada dikkat edilmesi gereken iki önemli nokta şunlar:
getOrganizationToken'a verilen organizationId geçerli kullanıcının ait olduğu bir organizasyon id'si değilse, bu yöntem bir token elde edemez; bu da kullanıcıların yalnızca kendi organizasyonlarına erişmesini sağlar.
Organizasyon kaynakları talep edildiğinde erişim tokenı yerine organizasyon tokenını kullanıyoruz çünkü organizasyonlara ait kaynaklarda, kullanıcı izin kontrolü yerine organizasyon izin kontrolü kullanmak istiyoruz (bunu daha iyi anlamanız için sonraki adımda GET /documents API'sini uygularken daha iyi anlayacaksınız).
Son olarak, arka uç hizmetimizde bir GET /documents API oluşturalım. POST /organizations API'sini korumak için API kaynağını nasıl kullandığımızı hatırlayın. Özel bir organizasyon kaynak göstergesi kullanarak GET /documents API'sini de koruyabiliriz.
İlk olarak, Organizasyon kaynaklarını korumak için bir requireOrganizationAccess ara yazılımı oluşturalım.
Sonra GET /documents API'sini requireOrganizationAccess ara yazılımıyla koruyun.
Bu yolla, organizasyon tokenlarını kullanarak organizasyon kaynaklarına erişmeyi hayata geçirdik. Arka uç hizmetinde veritabanından organizasyon id'sine göre kaynakları alabilirsiniz.
Organizasyon seviyesinde rol tabanlı erişim kontrol tasarımını hayata geçirin#
Organizasyon kaynaklarına organizasyon tokenlarını kullanarak erişilmeyi hayata geçirdik. Şimdi de RBAC kullanarak organizasyonlar içinde kullanıcı izin kontrolünü hayata geçireceğiz.
DocuMind'in iki rolü olduğunu varsayalım: Yönetici ve Ortak Çalışan.
Yöneticiler belgeler oluşturabilir ve erişebilirken, Ortak Çalışanlar sadece belgeleri görebilir.
Bu nedenle, Organizasyonun bu iki role ihtiyacı vardır: Yönetici ve Ortak Çalışan.
Yönetici hem read:documents hem de create:documents izinlerini taşırken, Ortak Çalışan yalnızca read:documents iznine sahiptir.
Yönetici
read:documents
create:documents
Ortak Çalışan
read:documents
Bu, Logto'nun organizasyon şablonu özelliğinin devreye girdiği yerdir.
Bir organizasyon şablonu, her bir organizasyon için erişim kontrol modelinin bir taslağıdır: tüm organizasyonlar için geçerli olan rolleri ve izinleri tanımlar.
Neden organizasyon şablonu?
Çünkü ölçeklenebilirlik, SaaS ürünleri için en önemli gereksinimlerden biridir. Başka bir deyişle, bir müşteri için çalışan şey tüm müşteriler için çalışmalıdır.
Logto Konsolu > Organizasyon Şablonları > Organizasyon izinlerine giderek read:documents ve create:documents olmak üzere iki izin oluşturun.
Ardından organizasyon roller sekmesine giderek iki kullanıcı rolü oluşturun: Yönetici ve Ortak Çalışan ve bu rollere uygun izinler atayın.
Bu şekilde, her organizasyon için bir RBAC izin modeli oluşturduk.
Daha sonra, üyelerimize uygun rolleri atamak için Organizasyon detayları sayfasına gidin.
Şimdi organizasyon kullanıcılarımız rollere sahip!
Bu adımları Logto Yönetim API'si aracılığıyla gerçekleştirebilirsiniz:
Şimdi kullanıcı izin kontrolünü, izinlerini kontrol ederek hayata geçirebiliriz.
Kodumuzda, kullanıcı organizasyon tokenını izin bilgisi taşır hale getirmemiz ve ardından arka uçta bu izinleri doğrulamamız gerekecek.
Önkodun Logto yapılandırmasında, kullanıcıların organizasyon içinde talep etmesi gereken izinleri beyan etmemiz gerekiyor. read:documents ve create:documents izinlerini scopes dizinine ekleyelim.
Her zamanki gibi, kullanıcıyla oturum açmadan çıktığınızdan emin olun, böylece bu konfigürasyonlar etkili olsun.
Sonra backend'in requireOrganizationAccess middleware'inde, kullanıcı izinlerini doğrulamak için bir kontrol ekliyoruz.
Sonra bir POST /documents API oluşturun ve requireOrganizationAccess middleware'i, gerekli kapsam kurulumunu kullanarak bu API'yi ve önceki GET /documents API'sini korumak için kullanın.
Böylece, kullanıcı izinlerini kontrol ederek kullanıcı izin kontrolünü hayata geçirdik.
Önyüzde, organizasyon tokenını çözerek veya Logto'nun getOrganizationTokenClaims metodunu kullanarak kullanıcı izin bilgilerini edinebilirsiniz.
Kullanıcı izinlerini kontrol ederek sayfa öğelerini kontrol edin.
Şimdiye kadar, çok kiracılı SaaS sisteminde temel kullanıcı ve organizasyon özelliklerini hayata geçirdik! Ancak, her organizasyon için giriş sayfası markasını özelleştirme, belirli alan e-postalarıyla otomatik olarak kullanıcı ekleme ve kurumsal seviyede SSO işlevleri gibi bazı özelliklere henüz dikkat etmedik.
Tüm bunlar kutudan çıkan özelliklerdir ve bu özellikler hakkında daha fazla bilgiyi Logto dökümanlarında bulabilirsiniz.
Başlangıçta ne kadar bunaltıcı geldiğini hatırlayın mı? Kullanıcılar, organizasyonlar, izinler, kurumsal özellikler... Bu tırmanılacak sonsuz bir dağ gibi görünüyordu.
Ama ne başardığımıza bakın:
Birden fazla oturum açma seçeneği ve MFA desteği ile eksiksiz bir kimlik doğrulama sistemi
Birden fazla üyeliği destekleyen esnek bir organizasyon sistemi
Organizasyonlar içinde rol tabanlı erişim kontrolü
Ve en iyi yanı? Yeniden icat etmeye gerek duymadık. Logto gibi modern araçlarla, aylar sürebilecek geliştirmeleri saatler içinde dönüştürdük.
2025'te modern geliştirmenin gücü budur - altyapı ile mücadele etmek yerine eşsiz ürün özellikleri geliştirmeye odaklanabiliriz. Şimdi sıra sende, harika bir şey yarat!
Logto'nun tüm özelliklerini keşfedin, Logto Cloud'dan Logto OSS'ye kadar Logto web sitesinde veya bugünden kaydolun: Logto cloud.