Lấy thông tin người dùng
Trong một số trường hợp, Mini App sẽ cần phải lấy định danh của người dùng sử dụng Hosted App. Tbox Mini App có cung cấp các API để giải quyết vấn đề này.
Phần lớn các Mini App sẽ cần xác thực tài khoản của user để lấy một số thông tin về tài khoản. Một luồng thông thường sẽ bao gồm các bước
- Người dùng đi vào Mini App, chọn một chức năng yêu cầu xác thực
- Mini App gọi vào Hosted App, để lấy thông tin xác thực của người dùng
- Nếu người dùng đã login vào Hosted App, thì Hosted App trả về thông tin của người dùng cho Mini App
- Nếu người dùng chưa login vào Hosted App, thì Hosted App sẽ mở màn hình login của Hosted App để người dùng login App. Sau khi người dùng login xong, thì Hosted App trả thông tin người dùng về cho Mini App
Tbox Mini App cung cấp API getUser
để phục vụ cho luồng này.
Hàm getUser
là một hàm async nhận vào duy nhất một tham số isForceLogin
có kiểu Boolean.
- nếu
isForceLogin
bằngtrue
, Tbox Mini App sẽ tự động yêu cầu người dùng phải login trước khi sử dụng tính năng này - ngược lại nếu
isForceLogin
bằng false, Tbox Mini App sẽ chỉ cố gắng lấy thông tin của người dùng trên Host App mà thôi. Nếu người dùng chưa login, thì người dùng vẫn được sử dụng ứng dụng bình thường
Mặc định, nếu isForceLogin
sẽ nhận giá trị là false
Hàm getUser
trả về một đối tượng kiểu User
chứa các thông tin về người dùng.
User
là một object có chứa các key
tên trường | kiểu dữ liệu | bắt buộc phải có | ý nghĩa |
---|---|---|---|
id | string | có | id của user |
name | string | có | tên của user |
image_url | string | không | ảnh đại diện của user |
string | không | email của user | |
phone_number | string | không | số điện thoại của user |
access_token | string | không | token để access các thông tin khác của user |
Chú ý rằng, access_token
của mỗi Ứng dụng là khác nhau, và access_token
của một Ứng dụng chỉ có thể giúp cho Ứng dụng đó truy cập vào những trường thông tin của ứng dụng mà thôi
Hàm getUser
có thể trả về giá trị null
. Giá trị null
có ý nghĩa là người dùng chưa đăng nhập / hoặc từ chối đăng nhập (trong trường hợp isForceLogin
bằng true
).
Ví dụ
Hãy cùng xem xét ứng dụng Quản Lý Sự Kiện, tại màn hình chi tiết một vở Kịch, có nút quan tâm.
Nút quan tâm hoạt động như sau
- Nếu người dùng đã login, nút quan tâm thể hiện trạng thái quan tâm của người dùng với vở kịch đó (đã quan tâm / chưa quan tâm)
- Nếu người dùng chưa login, nút quan tâm thể hiện dòng chữ quan tâm
Khi người dùng bấm vào nút quan tâm, thì sẽ có 2 tình huống xảy ra:
- Nếu người dùng đã login, ứng dụng sẽ gọi API để thay đổi trạng thái quan tâm của người dùng với vở kịch
- Nếu người dùng chưa login, Hosted App cần yêu cầu người dùng login, sau đó cũng gọi API như trong trường hợp đã login kể trên