繁體中文(台灣)
幕後花絮:我們如何在多租戶應用中實現用戶協作
在多租戶應用中實現類似 Logto Cloud 協作的邀請和角色訪問管理功能的實踐和見解。
背景
上週,我們在 Logto Cloud 推出了協作功能。如果你錯過了,快來看看!現在,你可以邀請同事和合作夥伴加入你的現有 Logto 租戶,一起協作維護你的應用的身份系統。
在這次功能發布中,我們在每個 Logto 租戶中新增了兩個角色:
- 管理員:完全訪問該租戶,包括管理身份相關資源、邀請和管理其他成員、處理帳單和查看帳單歷史。
- 協作者:可以管理身份相關資源,但無法訪問其他管理功能。
為了遵循我們使用自己工具的承諾,我們利用了我們的 RBAC(基於角色的訪問控制)和組織功能來構建用戶協作。如果你對 RBAC 不熟悉,可以查閱 我們之前的文章以了解更多資訊。
在本文中,我們來看看實現這個功能的過程,以及如果你正在開發多組織應用,這些實踐可能會如何對你有用。
Logto Cloud 的協作是通過 Logto 組織構建的
我們系統中的每個 Logto Cloud 租戶都作為獨立的組織運行,並由我們自己的組織功能驅動。為了引入租戶管理員和協作者角色,我們在組織模板中創建了兩個組織角色,每個角色都分配了一組特定的組織權限。
使用 Logto 管理 API 處理邀請
我們在組織功能中提供了一組與邀請相關的管理 API。使用這些 API,你可以例如:
POST /api/organization-invitations
創建並發送組織邀請到一個電子郵件地址GET /api/organization-invitations
&GET /api/organization-invitations/{id}
獲取你的邀請PUT /api/organization-invitations/{id}/status
通過更新邀請狀態來接受或拒絕邀請
更多詳細信息,請參閱完整的 API 文檔。
連接你的電子郵件連接器
由於邀請是通過電子郵件發送的,請確保你的電子郵件連接器已正確配置。在此版本中,我們引入了一個新的電子郵件模板用途類型,OrganizationInvitation
,允許自定義邀請電子郵件模板。
此電子郵件模板預設將接受一個 {{link}}
變量,這是 Logto Console 的登錄頁面鏈接,用戶可以在此接受邀請並加入 Logto 租戶。Logto Cloud 中的一個登錄頁面如下圖所示:
有關通過管理 API 發送邀請電子郵件的更多詳細信息,請參閱API 文檔。