2011-12-12 2 views
5

Tôi đang viết một ứng dụng iPhone làm phiên bản di động của trang web của mình.Xác thực mã thông báo bằng cách sử dụng PHP cho thiết bị di động

Tôi dự định hiển thị một số API REST để ứng dụng có thể cập nhật dữ liệu của người dùng.

Tôi không muốn người dùng đăng nhập mọi lúc, nhưng tôi muốn lưu mã thông báo/cookie của mình và sử dụng lại nó cho tất cả các yêu cầu trong tương lai.

Tôi có thể thiết lập mã thông báo ngẫu nhiên và chuyển nó cùng với ID người dùng nhưng không an toàn vì dễ dàng truy cập vào thiết bị đã được bẻ khóa. Tôi không thể hạn chế nó bằng cách sử dụng một IP, vì IP có thể sẽ thay đổi thường xuyên (vì nó là một thiết bị di động).

Cách tốt nhất để thực hiện xác thực như vậy sẽ đủ an toàn nhưng sẽ không làm phiền người dùng bằng cách yêu cầu anh tự xác thực mình thường xuyên?

Trả lời

4

gửi UDID hoặc địa chỉ mac với chi tiết đăng nhập ban đầu tới máy chủ của bạn. tạo một mã thông báo duy nhất cho kết hợp người dùng/UDID (hoặc mac) này và gửi lại (mã hóa) cho thiết bị nếu tên người dùng/mật khẩu thành công. trên truy cập tiếp theo, thiết bị sẽ gửi mã thông báo được mã hóa và UDID/mac (qua kết nối an toàn) để xác thực lại.

nếu bạn muốn đặt người hoang tưởng một cách dễ dàng về theo dõi UDID, bạn có thể sử dụng UDID/mac để muối mã thông báo được mã hóa, nhưng điều này sẽ không an toàn, nhưng vẫn nên thực hiện công việc.

+0

Ý tưởng hay để đăng ký khách hàng và sử dụng UDID/MAC của thiết bị di động (được băm bằng dấu thời gian và mật khẩu). cám ơn –