Nhảy tới nội dung

Hướng dẫn sử dụng tài khoản Zalo để đăng nhập trên Mini App

Sử dụng tài khoản Zalo đăng nhập và định danh tài khoản

Để hiện thực tính năng đăng nhập cho hệ thống của bạn thông qua tài khoản Zalo trên Mini App, vui lòng tham khảo hướng dẫn bên dưới.

Login Process

login process

  1. Sử dụng zmp-sdk, gọi api getAccessToken để truy xuất access token.
  2. Sử dụng access token vừa nhận được gửi về Server của bạn để yêu cầu đăng nhập. Từ Server của bạn, gọi Zalo Open API để lấy thông tin Zalo Profile của người dùng.
  3. Sử dụng thông tin Zalo Profile vừa nhận được để tạo tài khoản mới hoặc đăng nhập với tài khoản tương ứng có sẵn trên hệ thống của bạn.

Hướng dẫn truy xuất Zalo Profile từ access token qua Zalo Open API (Step 2.1)

Chú ý (cập nhật ngày 01/01/2024)

Bổ sung thêm cơ chế bảo mật xác thực thông tin người dùng khi truy xuất Zalo Profile từ Server:

  • Từ ngày 01/01/2024 Zalo Platform yêu cầu gửi kèm appsecret_proof khi truy xuất Profile người dùng từ Server của bạn, nhằm đảm bảo access_token trong yêu cầu được sinh ra thuộc về Zalo App ID bạn đã đăng ký. Chi tiết xem tại code hướng dẫn bên dưới.
Code demo fallback when rendering server side!

Ví dụ kết quả trả về:

{
"is_sensitive": false,
"name": "Tùng Nguyễn",
"id": "3681046936240438345",
"error": 0,
"message": "Success",
"picture": {
"data": {
"url": "https://s120-ava-talk.zadn.vn/a/a/6/e/37/120/84f0ddd1d0f1edf0831c92cf4960e3ec.jpg"
}
}
}

Lưu ý: id là mã người dùng, sẽ sử dụng để định danh người dùng truy cập Mini App. Chuỗi này là duy nhất cho mỗi người dùng trên mỗi ID Zalo App của bạn. Vui lòng xem hướng dẫn chi tiết cách sử dụng Zalo Open API tại đây.

Hướng dẫn liên kết tài khoản cho các hệ thống sử dụng số điện thoại để định danh

Với các hệ thống sử dụng số điện thoại người dùng để định danh tài khoản, vui lòng tham khảo api getPhoneNumber và làm theo hướng dẫn để liên kết tài khoản trên Zalo Mini App.

Trường hợp chỉ yêu cầu cung cấp số điện thoại khi sử dụng một số tính năng nhất định.

Nếu ứng dụng của bạn chỉ cần số điện thoại khi người dùng để sử dụng một số chức năng nhất định như

  • Đặt hàng
  • Đăng ký thành viên
  • Đăng ký tham dự sự kiện
  • Tra cứu tìm kiếm thông tin
  • ...

Vui lòng chỉ sử dụng API getPhoneNumber khi người bắt đầu sử dụng các tính năng đó, ví dụ trong quá trình đặt hàng, trong form yêu cầu đăng ký thẻ thành viên... Cách sử dụng khuyên dùng:

Flow request phone approve

Minh họa cách sử dụng không hợp lệ:

Flow request phone reject

Không nên yêu cầu người dùng chia sẻ số điện thoại ngay khi vừa mới truy cập Mini App trong trường hợp này.

Trường hợp bắt buộc cung cấp số điện thoại để sử dụng ứng dụng

Với các ứng dụng bắt buộc người dùng cung cấp số điện thoại để có thể sử dụng Mini App. Vui lòng hiển thị UI Onboarding giải thích:

  • Lý do người dùng bắt buộc cần cung cấp số điện thoại.
  • Số điện thoại người dùng sẽ được sử dụng cho tính năng, mục đích gì.
  • ...

Minh họa cách sử dụng hợp lệ:

Flow request phone approve