Xác thực OAuth2
Đăng nhập Odoo qua Google, Facebook, GitHub và các OAuth2 provider khác
Tổng quan
Module auth_oauth cho phép người dùng đăng nhập Odoo bằng tài khoản OAuth2 (Google, Facebook, GitHub) thay vì mật khẩu Odoo riêng.
Giảm gánh nặng quản lý mật khẩu, tăng bảo mật và cải thiện trải nghiệm người dùng với Single Sign-On.
Tính năng chính
Điểm chính
• Đăng nhập qua Google, Facebook, GitHub, Microsoft - Không cần nhớ mật khẩu Odoo
• Tự động tạo user - User được tạo tự động từ thông tin OAuth provider
• Quản lý OAuth token - Lưu trữ và làm mới access token tự động
• Nhiều provider - Hỗ trợ cấu hình nhiều OAuth provider cùng lúc
• Tích hợp auth_signup - Kết hợp với đăng ký tự động
• Tùy chỉnh button - Tùy chỉnh nhãn và icon nút đăng nhập
Cấu hình Google OAuth
Các bước thực hiện
1. Tạo OAuth App trên Google Cloud Console: Vào console.cloud.google.com, tạo project mới
2. Vào APIs & Services → Credentials, nhấn Create Credentials → OAuth 2.0 Client ID
3. Chọn Application type: Web application, đặt tên "Odoo"
4. Thêm Authorized redirect URIs: https://your-odoo.com/auth_oauth/signin
5. Copy Client ID và Client Secret
6. Trong Odoo: Vào Settings → General Settings → OAuth Authentication
7. Bật "Allow users to sign in with Google"
8. Dán Client ID từ Google Console
9. Nhấn Save
Cấu hình chi tiết OAuth Provider
| Fields | Trường dữ liệu | Description |
|---|---|---|
| Provider name | Tên hiển thị của provider | |
| Client ID | [Client ID từ Google] | ID ứng dụng OAuth |
| Authorization URL | https://accounts.google.com/o/oauth2/auth | URL xác thực |
| UserInfo URL | https://www.googleapis.com/oauth2/v1/userinfo | URL lấy thông tin user |
| Scope | openid profile email | Quyền truy cập yêu cầu |
| Allowed | Yes | Cho phép sử dụng provider |
| Login button label | Sign in with Google | Nhãn nút đăng nhập |
Cấu hình provider khác
OAuth providers phổ biến
| Provider | Authorization URL | UserInfo URL | Scope |
|---|---|---|---|
| https://www.facebook.com/v12.0/dialog/oauth | https://graph.facebook.com/me?fields=id,name,email | ||
| GitHub | https://github.com/login/oauth/authorize | https://api.github.com/user | user:email |
| Microsoft | https://login.microsoftonline.com/common/oauth2/v2.0/authorize | https://graph.microsoft.com/v1.0/me | openid profile email |
Quy trình đăng nhập OAuth
Các bước thực hiện
1. User nhấn nút "Sign in with Google" trên trang đăng nhập Odoo
2. Odoo chuyển hướng user đến Google để xác thực
3. User đăng nhập Google và cho phép Odoo truy cập thông tin cơ bản
4. Google chuyển hướng về Odoo với authorization code
5. Odoo đổi code lấy access token từ Google
6. Odoo lấy thông tin user (email, tên) từ Google
7. Nếu user chưa tồn tại: Tạo user mới với thông tin từ Google
8. User được đăng nhập vào Odoo
Khắc phục sự cố
Các lỗi thường gặp
| Lỗi | Nguyên nhân | Giải pháp |
|---|---|---|
| Redirect URI mismatch | Redirect URI trong Odoo không khớp với Google Console | Copy chính xác Redirect URI từ Odoo vào Google Console |
| Invalid client | Sai Client ID hoặc Client Secret | Kiểm tra lại Client ID/Secret, tạo mới nếu cần |
| Access denied | User từ chối cấp quyền | Hướng dẫn user cho phép Odoo truy cập email và profile |
| User not created | Email đã tồn tại với provider khác | Liên kết OAuth với user hiện có hoặc dùng email khác |
| Token expired | Access token hết hạn | Odoo tự động làm mới token, nếu lỗi thì đăng nhập lại |