Mobile app định danh thiết bị bằng cách nào

안녕하세요 :wave:

Hiện tại có một số phần mềm chỉ cho login trên một thiết bị duy nhất. For example:

  • App ngân hàng.

Các app này có điểm chung là chỉ cho phép đăng nhập duy nhất trên một thiết bị tại mọi thời điểm. Dạ cho em hỏi các mobile app get thông số nào của thiết bị để định danh thiết bị đang sử dụng app vậy?

Em đoán là nó sẽ get ID của hệ điều hành hoặc một service nào đó đang run trên hệ điều hành vì em thường bị case như này: ứng dụng VNeID em cài trên điện thoại, em khôi phục cài đặt gốc điện thoại mà quên đăng xuất, khi thiết bị factory reset xong, em cài lại VNeID thì app nhận dạng ra em đã login trên 2 thiết bị khác nhau và yêu cầu em phải logout account trên thiết bị kia. App ngân hàng em cũng gặp tình trạng tương tự: mỗi khi factory reset mà quên đăng xuất thì phải ra chi nhánh ngân hàng viết giấy yêu cầu kích hoạt tài khoản.
Dựa vào case trên em đoán app không thể get các thông số liên quan đến phần cứng, số IMEI hoặc địa chỉ IP, …

Vậy cho em hỏi nguyên lý hoạt động trên android và IOS như thế nào? có giống nhau không?

Em muốn lập trình tính năng này trên app của em thì em cần tìm hiểu những gì (hiện tại em viết app bằng react native + expo, em kiểu viết script “tầng trên” để call RESTful API là chính chứ “tầng native bên dưới” em hơi mất gốc).

Em cảm ơn mọi người đã đọc ạ.

Nếu muốn đơn giản thì bạn lưu ra bộ nhớ trong của thiết bị, trong file đó chứa ID được tạo ngẫu nhiên, hoặc cẩn thận hơn thì bạn lưu ID đó giấu trong 1 hình ảnh bất kỳ mà app sử dụng rồi mới lưu.
Mỗi lần mở app lên đọc id đã lưu trước đó nếu khác thì coi như thiết bị khác rồi.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?