Aivigo Hướng dẫn sử dụng

Danh tính người dùng

Ký user hash ở server để trợ lý biết chắc người đang chat là ai.

Khi app có đăng nhập, trợ lý cần biết chắc chắn người dùng là ai trước khi tra đơn hàng, công nợ hay dữ liệu cá nhân. Voicebox dùng chữ ký HMAC: server của bạn ký user.ref bằng identity secret, trình duyệt chỉ chuyển chữ ký đi.

hash = hex( HMAC_SHA256( identity_secret, user.ref ) )

Identity secret là bí mật

Chỉ tính hash ở server. Không bao giờ đưa identity secret xuống trình duyệt hay app. Nghi lộ ⇒ xoay secret ngay.

Chế độ danh tính

Chế độDùng khiHành vi
anonymousWeb công khai, khách vãng laiMọi người là khách; user bị bỏ qua
optionalCó người đăng nhập, có người khôngCó user ⇒ phải kèm hash đúng; không có ⇒ khách vãng lai
verifiedDữ liệu cá nhân (đơn hàng, công nợ), app nhân viênBắt buộc user + hash đúng

Tính hash

import { createHmac } from 'node:crypto';
const hash = createHmac('sha256', process.env.VOICEBOX_IDENTITY_SECRET).update(user.id).digest('hex');

Đưa hash xuống trang cùng phiên đăng nhập rồi:

Voicebox.init({ key: 'vb_xxx', user: { ref: 'kh001', name: 'An', hash } });
// hoặc sau khi đăng nhập: vb.identify({ ref: 'kh001', name: 'An', hash });

Lấy identity secret

Identity secret được cấp một lần khi tạo voicebox hoặc khi xoay secret. Lưu ngay vào secret manager của server. Nếu bạn chưa nhận được secret, liên hệ bộ phận hỗ trợ Aivigo để xoay và cấp lại.

Quyền dùng vẫn do Aivigo quyết

Chữ ký chỉ chứng minh danh tính. Quyền dùng (danh sách cho phép, gói cước, hạn mức, tài khoản bị khoá) vẫn được kiểm theo user.ref — người dùng bị khoá dù ký đúng vẫn nhận 403.

Sửa trang này trên GitLab

Trong trang này