Appearance
🔐 Luồng OAuth & Đăng nhập
Tóm tắt
Tài liệu mô tả chi tiết luồng OAuth 2.0 từ khi người dùng nhấn nút đăng nhập đến khi có phiên làm việc trên Frappe Helpdesk, bao gồm cả trải nghiệm người dùng (UX).
1. Sequence Diagram — Luồng kỹ thuật
2. Luồng trải nghiệm người dùng (UX)
3. Redirect URI
Redirect URI mà Frappe gửi cho Haravan phải khớp chính xác với giá trị trên Haravan Partner Dashboard:
text
https://haravan.help/api/method/login_with_haravan.oauth.login_via_haravanMặc định, Social Login Key.redirect_url được giữ dạng path tương đối — Frappe tự xây dựng URL đầy đủ từ domain của request hiện tại. Nếu cần cố định domain, cấu hình haravan_account_login.redirect_uri trong Site Config (xem Bắt đầu & Cấu hình).
Nếu Haravan trả lỗi Invalid redirect_uri, nghĩa là callback code chưa được gọi — vấn đề nằm ở cấu hình, không phải ở code.
4. Scope
Chỉ sử dụng scope đăng nhập:
text
openid profile email org userinfoKhông dùng commerce scope cho tích hợp login-only này. Nếu cần dữ liệu bán hàng, xem Lộ trình Pha 1.
5. Xử lý chuyển hướng sau đăng nhập
Script haravan_login_redirect.js đảm bảo người dùng quay lại đúng trang trước đó:
- Khi vào
/login?redirect-to=/helpdesk/my-tickets/new, script lưuredirect-tovào cookie. - Cookie được ghi đè vào
state.redirect_totrước khi chuyển sang Haravan. - Sau khi callback thành công, Frappe đọc cookie và chuyển hướng về
/helpdesk/my-tickets/new. - Nếu không tìm thấy đường dẫn hợp lệ, dự phòng chuyển về
/helpdesk/my-tickets.