👤 Hướng dẫn sử dụng
SSO for Microsoft Entra cho phép người dùng đăng nhập WordPress bằng tài khoản Microsoft 365 doanh nghiệp — không cần nhớ thêm mật khẩu.
Luồng đăng nhập
- Người dùng truy cập trang đăng nhập WordPress (
/wp-login.phphoặc/login). - Plugin tự động chuyển hướng đến Microsoft Entra ID để xác thực.
- Người dùng đăng nhập bằng tài khoản Microsoft 365 doanh nghiệp.
- Sau khi xác thực thành công, người dùng được chuyển hướng về WordPress với phiên đăng nhập hợp lệ.
Yêu cầu
- WordPress 6.0+
- PHP 8.0+
- Microsoft 365 Business / Enterprise (có Microsoft Entra ID / Azure AD)
- HTTPS (bắt buộc cho OpenID Connect)
Tính năng chính
Đăng nhập một lần (SSO)
Người dùng đăng nhập WordPress bằng tài khoản Microsoft 365 doanh nghiệp. Hỗ trợ OAuth 2.0 và OpenID Connect.
Đồng bộ người dùng tự động
Tự động tạo và đồng bộ người dùng WordPress từ Microsoft Entra ID. Phân quyền theo nhóm Azure AD.
Bảo mật doanh nghiệp
Xác thực đa lớp (MFA), kiểm soát truy cập theo vai trò, audit log đầy đủ. Tuân thủ tiêu chuẩn bảo mật doanh nghiệp.
Role Mapping
Ánh xạ nhóm Azure AD sang vai trò WordPress. Hỗ trợ phân quyền chi tiết theo nhóm bảo mật.
PKCE Flow
Hỗ trợ Proof Key for Code Exchange — giao thức xác thực an toàn nhất cho ứng dụng web.
Audit Log
Ghi lại tất cả hoạt động đăng nhập, đồng bộ và thay đổi phân quyền. Tích hợp với WordPress Event Log.
⚙️ Hướng dẫn cài đặt & cấu hình
Hướng dẫn chi tiết cho Developer và System Admin.
1. Cài đặt Plugin
| Phương thức | Hướng dẫn |
|---|---|
| WordPress.org | Vào Plugins → Add New, tìm "SSO for Microsoft Entra", cài đặt và kích hoạt. |
| Upload ZIP | Tải ZIP từ WordPress.org, vào Plugins → Add New → Upload Plugin. |
| Composer | composer require codetot/sso-for-microsoft-entra |
| WP-CLI | wp plugin install sso-for-microsoft-entra --activate |
2. Đăng ký ứng dụng trên Azure
- Truy cập Azure Portal → Microsoft Entra ID → App registrations.
- Chọn New registration.
- Đặt tên (vd: "WordPress SSO"), chọn Accounts in this organizational directory only.
- Mục Redirect URI: chọn
Webvà nhậphttps://your-site.com/wp-admin/admin-ajax.php?action=entra-sso-callback. - Click Register.
- Ghi lại Application (client) ID và Directory (tenant) ID.
3. Cấu hình Plugin
Sau khi cài đặt, vào Settings → SSO for Microsoft Entra và nhập:
| Trường | Giá trị |
|---|---|
| Tenant ID | Directory ID từ Azure Portal |
| Client ID | Application ID từ Azure Portal |
| Client Secret | Client secret đã tạo trong Azure Portal |
| Redirect URI | Tự động điền, kiểm tra khớp với Azure |
| Default Role | Vai trò WordPress mặc định cho user mới (vd: subscriber) |
| Enable Auto-Provision | Bật để tự động tạo user WordPress khi đăng nhập lần đầu |
4. Cấu hình qua WP-CLI
# Set tenant ID wp option update entra_sso_tenant_id "your-tenant-id" # Set client ID wp option update entra_sso_client_id "your-client-id" # Set client secret (được mã hóa khi lưu) wp option update entra_sso_client_secret "your-client-secret" # Kiểm tra trạng thái wp option get entra_sso_settings
5. Cấu hình qua wp-config.php
define( 'ENTRA_SSO_TENANT_ID', 'your-tenant-id' ); define( 'ENTRA_SSO_CLIENT_ID', 'your-client-id' ); define( 'ENTRA_SSO_CLIENT_SECRET', 'your-client-secret' ); define( 'ENTRA_SSO_DEFAULT_ROLE', 'subscriber' ); define( 'ENTRA_SSO_AUTO_PROVISION', true );
Troubleshooting
🔴 Lỗi "Redirect URI mismatch"
Kiểm tra Redirect URI trong Azure Portal khớp chính xác với URI trong plugin. Chú ý HTTPS, không có dấu / ở cuối.
🟠 Lỗi "Invalid client secret"
Client secret có thể đã hết hạn. Tạo secret mới trong Azure Portal → Certificates & secrets.
🔴 User không được tạo tự động
Kiểm tra Auto-Provision đã được bật. Nếu dùng wp-config.php, đảm bảo ENTRA_SSO_AUTO_PROVISION là true.
🔒 Bảo mật
SSO for Microsoft Entra được thiết kế với các tiêu chuẩn bảo mật cao nhất cho doanh nghiệp.
Giao thức xác thực
- OpenID Connect — Giao thức xác thực hiện đại dựa trên OAuth 2.0
- PKCE (Proof Key for Code Exchange) — Ngăn chặn tấn công authorization code interception
- MFA — Hỗ trợ xác thực đa lớp từ Microsoft Entra ID
- Conditional Access — Tương thích với chính sách truy cập có điều kiện của Azure AD
Bảo mật dữ liệu
- Client secret được mã hóa khi lưu trong database WordPress
- Token phiên được lưu trữ an toàn, tự động hết hạn
- Không lưu trữ mật khẩu người dùng — xác thực hoàn toàn qua Microsoft Entra ID
- Audit log ghi lại tất cả hoạt động đăng nhập và thay đổi phân quyền
Role Mapping
| Azure AD Group | WordPress Role |
|---|---|
| WordPress Administrators | administrator |
| WordPress Editors | editor |
| WordPress Authors | author |
| WordPress Subscribers | subscriber (mặc định) |
Có thể tùy chỉnh mapping qua filter entra_sso_role_mapping.
❓ Câu hỏi thường gặp
Các câu hỏi phổ biến về SSO for Microsoft Entra.
SSO for Microsoft Entra có miễn phí không?
Có. Plugin hoàn toàn miễn phí, tải từ WordPress.org. Bạn chỉ cần có Microsoft 365 Business/Enterprise để sử dụng Microsoft Entra ID.
Cần yêu cầu hệ thống gì?
WordPress 6.0+, PHP 8.0+, HTTPS. Tài khoản Microsoft 365 Business hoặc Enterprise có Microsoft Entra ID (Azure AD).
Plugin có hỗ trợ nhiều site không?
Có. Plugin hỗ trợ WordPress Multisite. Bạn có thể cấu hình SSO cho toàn bộ mạng lưới site hoặc từng site riêng lẻ.
Có thể tùy chỉnh giao diện trang đăng nhập không?
Có. Plugin cung cấp filter entra_sso_login_button_html để tùy chỉnh HTML nút đăng nhập, và action entra_sso_login_form để thêm nội dung vào form đăng nhập.
Làm thế nào để test trước khi bật cho toàn bộ người dùng?
Bạn có thể bật chế độ Maintenance Mode trong cài đặt plugin, chỉ cho phép admin IP được chỉ định đăng nhập bằng SSO trong quá trình test.
Plugin có hỗ trợ Azure AD B2C không?
Hiện tại plugin hỗ trợ Microsoft Entra ID (Azure AD) cho doanh nghiệp. Hỗ trợ Azure AD B2C đang được phát triển.