> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/run-the-platform/vi/xac-thuc/auth-sources-general.md).

# Nguồn ủy quyền - Tổng quan

Hướng dẫn chung để cấu hình các nhà cung cấp danh tính OAuth2 của bên thứ ba như Okta, GitLab, Azure AD và Google để xác thực người dùng trong VergeOS.

Nguồn ủy quyền cho phép sử dụng các hệ thống quản lý danh tính Oauth2 của bên thứ ba (chẳng hạn: Okta, GitLab, Azure AD, Google) để xác thực người dùng trong VergeOS.

{% hint style="info" %}
**Mặc dù Oauth2 là một đặc tả tiêu chuẩn, các triển khai khác nhau sẽ có sự khác biệt. Trang này cung cấp hướng dẫn tổng quát để cấu hình một Nguồn Oauth của bên thứ ba dùng cho xác thực VergeOS. Các trường và cài đặt cụ thể sẽ khác nhau tùy theo trình điều khiển được chọn (Google, Azure, OpenID, GitLab, v.v.). Hãy tham khảo tài liệu của Nguồn Oauth cụ thể để biết thông tin về các tùy chọn riêng.**
{% endhint %}

Các liên kết sau cung cấp hướng dẫn cụ thể cho từng nguồn:

* [Google](/run-the-platform/vi/xac-thuc/google-auth.md)
* [Azure](/run-the-platform/vi/xac-thuc/azure-auth.md)
* [VergeOS OIDC](/run-the-platform/vi/xac-thuc/oidc-apps-overview.md)

## Xác thực đăng nhập giao diện so với tham gia miền NAS

VergeOS có hai tính năng riêng biệt đều liên quan đến Active Directory, và chúng thường bị nhầm lẫn:

| Tính năng                         | Mục đích                                                                                                                  | Cấu hình ở đâu                                                                                    |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| **Nguồn xác thực (đăng nhập UI)** | Cho phép người dùng UI VergeOS và người dùng tenant đăng nhập bằng thông tin xác thực từ nhà cung cấp danh tính bên ngoài | **Hệ thống > Nguồn xác thực**                                                                     |
| **Tham gia miền NAS**             | Kết nối dịch vụ NAS của VergeOS với một miền AD để kiểm soát truy cập chia sẻ tệp CIFS/SMB                                | Cài đặt dịch vụ NAS — xem [Tham gia NAS vào miền](/run-the-platform/vi/nas/nas-join-ad-domain.md) |

Các tính năng này độc lập. Việc tham gia miền NAS **không** cho phép đăng nhập giao diện bằng AD, và việc cấu hình nguồn xác thực UI thì **không** không ảnh hưởng đến quyền chia sẻ tệp NAS.

### Xác thực đăng nhập UI với Windows Active Directory

Nguồn xác thực đăng nhập UI và tenant của VergeOS dựa trên OAuth2/OIDC chứ không phải trình điều khiển nguồn xác thực LDAP gốc — không có tùy chọn liên kết LDAP/AD trực tiếp cho đăng nhập UI.

Để cho phép người dùng miền Windows đăng nhập vào giao diện VergeOS bằng thông tin xác thực AD của họ, hãy liên kết AD tại chỗ thông qua **Microsoft Entra ID** (Azure AD) hoặc một nhà cung cấp danh tính tương thích OIDC khác, và cấu hình nguồn xác thực tương ứng trong VergeOS. Tư cách thành viên nhóm từ nhà cung cấp danh tính có thể được ánh xạ sang các nhóm VergeOS để quyền truy cập đi theo thư mục danh tính.

## Tạo nguồn ủy quyền - Hướng dẫn chung

1. Lấy **ID máy khách** và **Khóa bí mật máy khách** từ hệ thống bên thứ ba; các thông tin xác thực này phải được tạo **theo URL của hệ thống VergeOS**. Các giá trị này sẽ cần ở bước sau.
2. Nhấp **Hệ thống** ở menu trên cùng.
3. Chọn **Nguồn xác thực**.
4. Nhấp **Mới** trong menu bên trái.
5. **Tên:** một tên để nhận diện nguồn ủy quyền này; tên này sẽ xuất hiện trên nút đăng nhập trên trang đăng nhập VergeOS.
6. **Trình điều khiển:**
   * *Azure AD*
   * *GitLab*
   * *Google*
   * *Okta*
   * *Open ID*\*\*\*
   * *Open ID (Cấu hình Well-Known)*
   * *Verge.io* (Điều này có thể được dùng để cho phép truy cập hợp lý hơn cho bộ phận hỗ trợ; liên hệ đội Hỗ trợ VergeOS để cấu hình loại nguồn xác thực này.)

{% hint style="success" %}
**Thiết lập OpenID cung cấp một tùy chọn tổng quát có thể hoạt động với bất kỳ nguồn OpenID nào, trong khi các tùy chọn cụ thể như: Google, GitLab, Okta và Azure AD cung cấp các lớp bao bọc với biểu mẫu cấu hình chuyên biệt hơn cho từng triển khai cụ thể đó.**
{% endhint %}

7. **URI chuyển hướng:** được điền tự động bằng địa chỉ của giao diện VergeOS và thông thường không nên thay đổi. **Địa chỉ này phải là địa chỉ công khai hoặc có thể truy cập được bởi nguồn Oauth từ xa.**
8. **ID máy khách** và **Client Secret:** các giá trị được tạo trên nguồn Oauth từ xa, dựa trên URL của hệ thống VergeOS.
9. **Trường người dùng từ xa:** định nghĩa một hoặc nhiều trường có thể được dùng để tìm người dùng trong nguồn Oauth. Trường này được tự động điền bằng danh sách mặc định các trường phổ biến (sub,preferred\_username,email,nickname) hoạt động trên nhiều triển khai Oauth phổ biến

{% hint style="warning" %}
**Vì lý do bảo mật, không khuyến nghị xác định người dùng từ xa dựa trên các trường có thể bị người dùng cuối thay đổi trên các nguồn Oauth.**
{% endhint %}

10. **Cấu hình bổ sung:**

### Tùy chọn được khuyến nghị (khuyến nghị bật các tùy chọn này.)

* **Cập nhật người dùng từ xa:** cập nhật *Tên người dùng từ xa* trường của người dùng VergeOS thành ID duy nhất từ Nguồn Oauth. Bật tùy chọn này cho phép ban đầu xác định người dùng dựa trên các trường thân thiện hơn (được định nghĩa trong *Trường người dùng từ xa*, ở trên) nhưng sau đó thay đổi trường VergeOS *Tên người dùng từ xa* để khớp với một id duy nhất từ hệ thống nguồn. Điều này đảm bảo bản ghi người dùng vẫn nhất quán ngay cả khi các trường phụ như địa chỉ email hoặc tên người dùng thân thiện có thể thay đổi theo thời gian.
* **Cập nhật địa chỉ email của người dùng:** cập nhật trường địa chỉ email dựa trên địa chỉ email từ nguồn Oauth.
* **Cập nhật tên hiển thị của người dùng:** cập nhật tên hiển thị của người dùng dựa trên tên hiển thị từ nguồn Oauth.

### Các trường tùy chọn bổ sung

* **Phạm vi:** thay đổi theo từng triển khai khác nhau; hãy tham khảo tài liệu Oauth2 của nguồn, nếu phù hợp, để biết thêm thông tin. Trong hầu hết trường hợp, mặc định "openid profile email" sẽ hoạt động.
* **Phạm vi nhóm:** thay đổi theo từng triển khai khác nhau; hãy tham khảo tài liệu Oauth2 của nguồn để biết thêm thông tin. Trong hầu hết trường hợp, Phạm vi nhóm có thể được đặt thành từ "groups". Phạm vi nhóm là **bắt buộc khi dùng&#x20;*****Cập nhật tư cách thành viên nhóm*****&#x20;tùy chọn**.
* **Yêu cầu địa chỉ email đã xác minh:** (đối với các triển khai Oauth2 hỗ trợ xác minh địa chỉ email người dùng) chỉ cho phép xác thực người dùng có cờ email đã xác minh được bật/true trong nguồn.
* **Cập nhật tư cách thành viên nhóm:** cập nhật tư cách thành viên nhóm của người dùng (mỗi lần người dùng đăng nhập) để tương ứng với tư cách thành viên nhóm từ nguồn Oauth

**Chế độ gỡ lỗi:** (ô chọn) bật ghi log chi tiết cho nguồn ủy quyền này; chỉ nên bật khi khắc phục sự cố vì lượng lớn log xác thực có thể ảnh hưởng đến hiệu năng.

**Hiển thị trong menu:** (ô chọn) thay đổi cách hiển thị để cho thấy một menu thả xuống thay vì một danh sách.

***

### Tạo người dùng

* **Tự động tạo người dùng:** người dùng được tạo tự động (khi cần, lúc đăng nhập VergeOS lần đầu) tương ứng với người dùng trong nguồn Oauth. Dùng một dấu sao duy nhất để áp dụng cho tất cả người dùng.
* **Tự động tạo người dùng trong nhóm:** chỉ những người dùng trong các nhóm nguồn Oauth2 được chỉ định mới được tạo tự động, theo yêu cầu, khi đăng nhập lần đầu. Có thể nhập tên nhóm cụ thể hoặc biểu thức chính quy để bao gồm các nhóm có mẫu khớp.

{% hint style="info" %}
**Để tự động tạo người dùng dựa trên nhóm, trường&#x20;*****Tự động tạo người dùng*****&#x20;phải để trống.**
{% endhint %}

{% hint style="info" %}
**Người dùng sẽ sử dụng Nguồn ủy quyền bên ngoài có thể được tạo thủ công trong VergeOS; khi tạo người dùng VergeOS mới: Chọn Nguồn ủy quyền phù hợp trong danh sách thả xuống.**
{% endhint %}

* Đặt **Tên người dùng từ xa** để khớp với một trong các trường được định nghĩa trong *Trường người dùng từ xa* (các trường được dùng để tìm người dùng trong nguồn ủy quyền bên ngoài). Thông thường, tốt nhất là dùng tên đăng nhập hoặc ID người dùng duy nhất.

### Kiểu đăng nhập

Kiểu đăng nhập xác định diện mạo của nút đăng nhập trên trang đăng nhập VergeOS.

* **Màu nền nút đăng nhập:** màu nền của nút đăng nhập.
* **Màu chữ nút đăng nhập:** màu chữ của nút đăng nhập.
* **Biểu tượng Font Awesome của nút đăng nhập:** chỉ định một biểu tượng thay thế cho nút đăng nhập; có thể tìm danh sách các Biểu tượng Font Awesome tại: [đây](https://fontawesome.com/v4.7.0/cheatsheet/).
* **Màu biểu tượng Font Awesome của nút đăng nhập:** chỉ định một màu thay thế cho nút đăng nhập; dùng mã HEX chuẩn, ví dụ: #FF5733.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/run-the-platform/vi/xac-thuc/auth-sources-general.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
