Tesseral , một dịch vụ xác thực mã nguồn mở mới dành cho phần mềm B2B, đã ra mắt với cách tiếp cận độc đáo trong việc xử lý người dùng và tổ chức. Tuy nhiên, lựa chọn thiết kế của họ đã gây ra cuộc thảo luận sôi nổi trong cộng đồng nhà phát triển về cách tốt nhất để xử lý multi-tenancy trong các ứng dụng doanh nghiệp.
Các tính năng chính của Tesseral:
- Xác thực B2B SaaS đa tenant
- SAML SSO và cung cấp SCIM
- Kiểm soát truy cập dựa trên vai trò (RBAC)
- Xác thực đa yếu tố (MFA)
- Magic links và đăng nhập xã hội
- Mạo danh người dùng để gỡ lỗi
- Quản lý API key
- Tùy chọn dịch vụ tự lưu trữ hoặc được quản lý
Quyết định thiết kế gây tranh cãi
Kiến trúc của Tesseral yêu cầu mỗi người dùng chỉ thuộc về đúng một tổ chức, có nghĩa là một người cần có nhiều tài khoản người dùng để truy cập các workspace khác nhau. Cách tiếp cận này khác với những gì nhiều nhà phát triển mong đợi - nơi một người dùng có thể thuộc về nhiều tổ chức cùng lúc. Phản ứng của cộng đồng khá trái chiều, với nhiều nhà phát triển bày tỏ lo ngại về hạn chế này.
Một nhà phát triển đã chỉ ra vấn đề lớn về khả năng sử dụng với mô hình này, lưu ý rằng các dịch vụ như Datadog sử dụng cách tiếp cận tương tự, nơi người dùng phải chuyển đổi hoàn toàn ngữ cảnh giữa các tổ chức. Điều này ngăn cản việc mở các tab từ các tổ chức khác nhau cạnh nhau và khiến các liên kết bị lỗi khi người dùng đang ở sai ngữ cảnh tổ chức.
So sánh Mô hình Người dùng-Tổ chức:
Dịch vụ | Mô hình Người dùng | Truy cập Đa tổ chức |
---|---|---|
Tesseral | Một người dùng cho mỗi tổ chức | Yêu cầu nhiều tài khoản |
FusionAuth | Người dùng toàn cục với đăng ký tenant | Một người dùng, nhiều tenant |
Truyền thống | Mối quan hệ nhiều-nhiều | Một người dùng, nhiều thành viên |
Các cách tiếp cận thay thế được thảo luận
Cuộc thảo luận đã tiết lộ nhiều cách khác nhau mà các dịch vụ xác thực khác xử lý thách thức này. Một số nhà phát triển đề xuất sử dụng thuật ngữ truyền thống như Users, Memberships và Accounts để tạo ra mối quan hệ nhiều-nhiều. Những người khác đề cập rằng FusionAuth sử dụng khái niệm người dùng toàn cục với đăng ký cụ thể theo tenant, cho phép cùng một người được tham chiếu bởi cả ID người dùng toàn cục và cụ thể theo ứng dụng.
Nhiều thành viên cộng đồng ủng hộ các mô hình đơn giản hơn, nơi người dùng có thể truy cập nhiều tổ chức mà không cần tạo tài khoản riêng biệt. Họ lập luận rằng cách tiếp cận này giảm thiểu sự nhầm lẫn và cung cấp trải nghiệm người dùng tốt hơn, đặc biệt đối với các tổ chức lớn nơi nhân viên có thể cần truy cập vào nhiều phòng ban hoặc công ty con.
Bối cảnh rộng hơn của các dịch vụ xác thực
Sự ra mắt của Tesseral bổ sung vào một lĩnh vực ngày càng đông đúc của các dịch vụ xác thực. Các nhà phát triển trong cuộc thảo luận đã so sánh nó với những tên tuổi đã được thiết lập như Auth0 , Clerk , Keycloak , và những người mới tham gia như Stack Auth . Mỗi dịch vụ có cách tiếp cận khác nhau để giải quyết các thách thức xác thực, với một số tập trung vào các framework cụ thể hoặc mô hình triển khai.
Thú vị là, cuộc thảo luận cũng tiết lộ mối lo ngại ngày càng tăng về sự phụ thuộc vào cloud, đặc biệt là trong các công ty châu Âu. Nhiều nhà phát triển đề cập rằng sự phụ thuộc vào AWS và các nhà cung cấp cloud có trụ sở tại Mỹ khác đang trở thành một cân nhắc quan trọng đối với các doanh nghiệp châu Âu do lo ngại về chủ quyền dữ liệu và địa chính trị.
Các SDK có sẵn:
- Phía client: React
- Phía server: Express , Flask , Golang
- Đang phát triển: Django , Laravel , Rails , Fastify
Cuộc tranh luận Self-Host so với Managed Service
Trong khi Tesseral cung cấp cả tùy chọn managed và self-hosted, cuộc thảo luận cộng đồng đã làm nổi bật những căng thẳng đang diễn ra giữa sự tiện lợi và kiểm soát. Một số nhà phát triển thích xây dựng hệ thống xác thực riêng của họ bằng cách sử dụng các framework đã được thiết lập như Rails với Devise , trong khi những người khác đánh giá cao việc tiết kiệm thời gian mà các dịch vụ managed cung cấp cho các tính năng phức tạp như SAML SSO và xác thực đa yếu tố.
Cuộc tranh luận phản ánh những câu hỏi rộng hơn về khi nào nên xây dựng so với mua, đặc biệt đối với cơ sở hạ tầng quan trọng như xác thực. Như một nhà phát triển đã lưu ý, những sai lầm trong xác thực có thể đặc biệt tốn kém và khó khắc phục sau này, khiến việc lựa chọn giữa phát triển tùy chỉnh và dịch vụ bên thứ ba trở nên đặc biệt quan trọng.
Kết luận
Sự ra mắt của Tesseral đã làm nổi bật những câu hỏi cơ bản về cách các dịch vụ xác thực nên xử lý multi-tenancy trong các ứng dụng B2B. Trong khi dịch vụ này cung cấp các tính năng toàn diện cho phần mềm doanh nghiệp, mô hình user-organization của nó đã tạo ra cuộc thảo luận đáng kể về trải nghiệm người dùng và sự đánh đổi kiến trúc. Phản hồi của cộng đồng cho thấy rằng các nhà cung cấp dịch vụ xác thực phải cân bằng cẩn thận giữa việc triển khai kỹ thuật với kỳ vọng của người dùng và các mẫu sử dụng trong thế giới thực.
Tham khảo: Tesseral