User Authorization
User authorization (ủy quyền người dùng) là quá trình cho phép mini app có thể truy xuất thông tin người dùng dưới sự cho phép của người dùng dựa trên tiêu chuẩn OAuth2.0
Thuật ngữ
Tên | Mô tả |
---|---|
Phạm vi uỷ quyền(scope) | Thông tin của người dùng được chia theo nhiều phạm vi, phạm vi uỷ quyền đại diện cho phạm vi mà mini app cần sự cho phép của người dùng để truy xuất thông tin. Chi tiết hơn về phạm vi thông tin người dùng có thể tham khảo mục Mô tả phạm vi |
Mã uỷ quyền(auth_code) | Đây là mã tạm thời đại diện cho sự uỷ quyền truy câp thông tin từ người dùng. Mã này dùng để đổi lấy access token |
Access token(access_token) | Token có thời hạn 1 tiếng, dùng để gọi từ merchant server tới Authorization server để lấy thông tin người dùng. |
Refresh token(refresh_token) | Token được sử dụng để tạo lại access token khi access token hết hiệu lực. Mỗi access token được tạo sẽ có một refresh token đi kèm. Hiệu lực 30 ngày |
Authorization flow
Highlevel flow
Implementation flow
1. Lấy mã uỷ quyền
Một popup hỏi quyền truy cấp sẽ được hiển thị để hỏi sự cho phép của người dùng
- Gọi hàm User.getOauthV1Code để lấy mã uỷ quyền
2. Lấy access token
Dùng mã uỷ quyền vừa lấy để lấy access token và refresh token.
- Sau khi lấy được mã uỷ quyền gọi Access token API để lấy access token.
3. Refresh token
Khi access token hết hạn, sử dùng refresh token để lấy một access token mới.
4. Lấy thông tin người dùng
Sau khi có được access token, lúc này bạn có thể lấy thông tin đã được cho phép từ người dùng thông qua Get user info API
Mô tả scopes
Tên | Mô tả |
---|---|
user.phone | Số điện thoại |
user.name | Tên hiển thị |
user.identity.info | Thông tin cá nhân bao gồm: birthday, gender, full_name, permanent_address |
user.identity.image | Thông tin trên giấy tờ bao gồm: id_number, id_type, issue_date ,issue_place, expiration_date, identity_image_font , identity_image_back |
user.avatar | Ảnh đại diện |
Mô tả thông tin user
Thuộc tính | Kiểu dữ liệu | Mô tả |
---|---|---|
user_phone | int64 | The user phone number |
muid | string | id của người dùng, mini app có thể dùng id này để định danh người dùng |
user_name | string | Tên hiển thị của người dùng |
birthday | int64 | Ngày tháng năm sinh |
gender | int | Giới tính. 1: Nam, 2: Nữ |
full_name | string | Tên đầy đủ của người dùng |
permanent_address | string | Địa chỉ thường trú |
id_number | string | Số cccd/cmnd/passport (thông tin trên giấy tờ định danh) |
id_type | int | Loại giấy tờ user dùng để định danh1: CMND, 2: passport, 3: CCCD, 4: CMSQ, 5: CCCD gắn chip |
issue_date | string | Ngày cấp |
issue_place | string | Nơi cấp |
identity_image_font | string | Ảnh mặt trước của giấy tờ(định dạng base64) |
identity_image_back | string | Ảnh mặt sau của giấy tờ(định dạng base64) |