Xác thực OAuth2

Đăng nhập Odoo qua Google, Facebook, GitHub và các OAuth2 provider khác

OAuth2
Google
Facebook
GitHub
Microsoft
SSO

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

FieldsTrường dữ liệuDescription
Provider nameGoogleTên hiển thị của provider
Client ID[Client ID từ Google]ID ứng dụng OAuth
Authorization URLhttps://accounts.google.com/o/oauth2/authURL xác thực
UserInfo URLhttps://www.googleapis.com/oauth2/v1/userinfoURL lấy thông tin user
Scopeopenid profile emailQuyền truy cập yêu cầu
AllowedYesCho phép sử dụng provider
Login button labelSign in with GoogleNhãn nút đăng nhập

Cấu hình provider khác

OAuth providers phổ biến

ProviderAuthorization URLUserInfo URLScope
Facebookhttps://www.facebook.com/v12.0/dialog/oauthhttps://graph.facebook.com/me?fields=id,name,emailemail
GitHubhttps://github.com/login/oauth/authorizehttps://api.github.com/useruser:email
Microsofthttps://login.microsoftonline.com/common/oauth2/v2.0/authorizehttps://graph.microsoft.com/v1.0/meopenid 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ỗiNguyên nhânGiải pháp
Redirect URI mismatchRedirect URI trong Odoo không khớp với Google ConsoleCopy chính xác Redirect URI từ Odoo vào Google Console
Invalid clientSai Client ID hoặc Client SecretKiểm tra lại Client ID/Secret, tạo mới nếu cần
Access deniedUser từ chối cấp quyềnHướng dẫn user cho phép Odoo truy cập email và profile
User not createdEmail đã tồn tại với provider khácLiên kết OAuth với user hiện có hoặc dùng email khác
Token expiredAccess token hết hạnOdoo tự động làm mới token, nếu lỗi thì đăng nhập lại