# Đăng nhập và SSO

> Tìm hiểu các phương thức đăng nhập Syfo hỗ trợ, và cách quản trị viên tổ chức bật đăng nhập một lần qua Feishu, WeCom hoặc CAS cho thành viên.

Source: https://docs.syfo.ai/vi/docs/sso

Tài khoản Syfo là tài khoản cá nhân, một tài khoản có thể tham gia nhiều tổ chức. Phương thức đăng nhập chia làm hai loại:

- **Phương thức đăng nhập của tài khoản**: email và mật khẩu, Google. Dùng được ở mọi tổ chức.
- **Đăng nhập một lần (SSO) của tổ chức**: Feishu, WeCom, CAS. Do từng tổ chức cấu hình riêng; thành viên vào từ trang đăng nhập riêng của tổ chức đó.

## Tổng quan các phương thức đăng nhập

| Phương thức | Đăng nhập ở đâu | Ai bật |
|---|---|---|
| Email và mật khẩu | Trang đăng nhập "Sign in to Syfo" | Luôn dùng được |
| Google | Trang đăng nhập, nút "Continue with Google" | Tùy bản triển khai Syfo có cung cấp hay không; không thấy nút nghĩa là hiện không dùng được |
| Feishu | Trang đăng nhập của tổ chức, nút "Continue with Feishu" | Owner hoặc quản trị viên của tổ chức cấu hình |
| WeCom | Trang đăng nhập của tổ chức, nút "Continue with WeCom" | Owner hoặc quản trị viên của tổ chức cấu hình |
| Đăng nhập một lần CAS | Trang đăng nhập của tổ chức, nút "Continue with CAS" | Owner hoặc quản trị viên của tổ chức cấu hình; địa chỉ CAS do bên triển khai cung cấp |

## Đăng nhập bằng email và mật khẩu

1. Mở trang đăng nhập "Sign in to Syfo", nhập email và mật khẩu, bấm "Sign in".
2. Nếu quên mật khẩu, bấm "Forgot password?" và đặt lại theo liên kết trong email. Sau khi đặt lại, các phiên đăng nhập trên thiết bị khác sẽ hết hiệu lực.
3. Người dùng mới bấm "New here? Create an account" để đăng ký. Sau khi đăng ký, bạn cần xác minh email trước khi đăng nhập. Mật khẩu dài từ 8 đến 128 ký tự, có ít nhất một chữ cái và một chữ số.

:::note
Nếu trang đăng ký hiện "Sign-up is closed", nghĩa là bản triển khai hiện tại đã tắt tự đăng ký. Hãy vào bằng đăng nhập một lần của tổ chức bạn, hoặc nhờ quản trị viên tổ chức mời bạn.
:::

## Đăng nhập bằng Google

Trên trang đăng nhập, bấm "Continue with Google".

Nếu email Google này đã đăng ký tài khoản Syfo, Syfo sẽ không tự gộp hai tài khoản. Hãy đăng nhập bằng cách cũ trước, rồi vào "Settings → Account → Login methods" và bấm "Connect Google". Email Google phải trùng với email tài khoản Syfo.

## Vào từ trang đăng nhập của tổ chức (SSO)

Khi tổ chức đã bật SSO, thành viên phải vào từ **trang đăng nhập của tổ chức đó**, không phải trang đăng nhập chung:

1. Trên trang đăng nhập, bấm "Use an organization login method".
2. Trong ô "Organization login link or organization code", dán liên kết đăng nhập của tổ chức, hoặc chỉ nhập mã tổ chức (đoạn sau `/s/` ở cuối liên kết), rồi bấm "Continue to organization sign in".
3. Ở trang "Sign in to this organization", bấm "Continue with Feishu", "Continue with WeCom" hoặc "Continue with CAS".

Nếu không biết mã tổ chức, bấm "Don't know the organization code? Recover by email" và nhập email tài khoản; Syfo sẽ gửi đến email này lối vào đăng nhập của các tổ chức bạn có quyền truy cập.

Lần đầu đăng nhập bằng SSO, nếu email này đã có tài khoản Syfo, hệ thống sẽ yêu cầu bạn xác nhận một lần bằng mã xác minh qua email, mật khẩu hoặc trạng thái đăng nhập hiện tại; sau khi xác nhận, hai bên sẽ tự liên kết. Về sau bạn có thể xem các tài khoản đã liên kết trong "Settings → Account → Third-party login".

:::tip
SSO chỉ dùng để xác minh danh tính. Syfo không đọc tin nhắn hay danh bạ Feishu hoặc WeCom của bạn.
:::

## Bật SSO cho tổ chức (quản trị viên)

### Điều kiện sử dụng

SSO của tổ chức cần được Syfo mở quyền sử dụng cho tổ chức của bạn trước. Khi chưa mở, mục "Login & identity" sẽ không xuất hiện trong "Settings". Nếu muốn dùng, hãy liên hệ chúng tôi để mở.

Sau khi được mở, **Owner hoặc quản trị viên** của tổ chức có thể cấu hình trong "Settings → Organization → Login & identity". Thành viên thường và khách không thấy mục này.

### Các bước cấu hình

Mỗi phương thức đều có hướng dẫn từng bước trên trang, quy trình nhìn chung giống nhau:

1. Trong "Login & identity", chọn Feishu, WeCom hoặc "CAS single sign-on", rồi bấm "Configure".
2. Làm theo hướng dẫn để hoàn tất thiết lập trên nền tảng bên kia, và điền địa chỉ callback hiển thị trên trang này vào đó (với WeCom là "Trusted domain").
3. Quay lại Syfo, điền thông tin xác thực rồi bấm "Save and continue":
   - Feishu: App ID và App Secret
   - WeCom: ID doanh nghiệp (CorpID), AgentId và Secret
   - CAS: Client ID và Client Secret. "CAS server" (địa chỉ CAS) do bên triển khai cấu hình, quản trị viên tổ chức không sửa được; nếu bản triển khai chưa cấu hình địa chỉ CAS thì không thể dùng đăng nhập CAS.
4. Bấm "Test connection" để kiểm tra thông tin xác thực.
5. Bấm "Verify login", nhập mật khẩu tài khoản hiện tại của bạn, rồi tự mình hoàn tất một lần đăng nhập.

Khi xác minh thành công, trạng thái chuyển thành "Verified and enabled", và lúc đó nút đăng nhập tương ứng mới xuất hiện trên trang đăng nhập của tổ chức.

### Quy tắc và giới hạn

- Mỗi tổ chức chỉ bật được một phương thức đăng nhập doanh nghiệp tại một thời điểm. Muốn đổi sang phương thức khác, hãy "Disable" phương thức hiện tại trước.
- "Email and password" luôn bật, thành viên lúc nào cũng có thể đăng nhập vào tổ chức bằng email và mật khẩu.
- Sau khi "Disable", cấu hình và liên kết của thành viên vẫn được giữ, chỉ là thành viên tạm thời không thể đăng nhập bằng phương thức này nữa.
- Trước khi tắt hoặc xóa, nếu có thành viên chỉ đăng nhập được bằng phương thức này, trang sẽ báo "N members need another login method", và bạn có thể bấm "Notify members to set a password". Phải có ít nhất một Owner giữ lại một phương thức đăng nhập khác còn dùng được.

### Thành viên mới có thể vào thẳng qua SSO không

WeCom và CAS có một công tắc quyết định người chưa tham gia tổ chức có thể vào thẳng qua SSO hay không:

| Công tắc | Khi bật | Khi tắt |
|---|---|---|
| "Provision accounts from WeCom" | Người trong phạm vi hiển thị của ứng dụng, khi đăng nhập lần đầu, sẽ tham gia tổ chức này với vai trò Member | Người chưa ở trong tổ chức cần quản trị viên mời |
| "Provision accounts from CAS" | Tài khoản CAS, khi đăng nhập lần đầu, sẽ tham gia tổ chức này với vai trò Member | Người chưa ở trong tổ chức cần quản trị viên mời |

Người đã bị xóa khỏi tổ chức thì dù công tắc đang bật vẫn phải được mời lại.

CAS còn có "Trusted email domains" (tên miền email được miễn xác minh): khi CAS trả về email thuộc các tên miền này và chưa có tài khoản tương ứng, lần đăng nhập đầu sẽ tạo tài khoản ngay, không gửi mã xác minh nữa. Chỉ khớp chính xác, không bao gồm tên miền con, tối đa 20 tên miền. "Skip verification for every email domain" áp dụng cho mọi tên miền; chỉ bật khi nhân viên không thể tự sửa email CAS của mình.

## Giới hạn ai có thể tham gia qua liên kết mời

Thiết lập này không liên quan đến SSO, tổ chức nào cũng dùng được. Owner hoặc quản trị viên vào "Settings → Organization → General", ở mục "Invite link email verification":

1. Bật "Verify email domain for invite links".
2. Thêm tên miền vào "Allowed email domains", ví dụ `@example.com`. Tên miền con cần thêm riêng.
3. Bấm "Save invite policy".

Sau khi bật, chỉ email đã xác minh và thuộc tên miền được phép mới có thể tham gia qua liên kết mời. Lời mời gửi đến một email cụ thể không bị ảnh hưởng; xóa một tên miền cũng không loại bỏ những thành viên đã tham gia.

## Quản lý đăng nhập của chính bạn

Trong "Settings → Account", bạn có thể:

- Xem các phương thức đăng nhập đang dùng được trong "Login methods", liên kết hoặc "Unlink" Google. Không thể gỡ phương thức đăng nhập cuối cùng; nếu chưa có mật khẩu, bạn cần đặt mật khẩu trước.
- "Change password", có thể đánh dấu để đồng thời đăng xuất khỏi các phiên đăng nhập khác.
- Xem các thiết bị đã đăng nhập trong "Sessions", rồi "Sign out this session" hoặc "Sign out everywhere".

## Trang liên quan

- [Tổ chức](https://docs.syfo.ai/vi/docs/organization): mời thành viên và vai trò
- [Giải thích về quyền](https://docs.syfo.ai/vi/docs/permissions): mỗi vai trò làm được gì
- [Bảo mật và quyền](https://docs.syfo.ai/vi/docs/security)
