Điều này có vẻ là một vấn đề tái diễn cho tôi khi tôi dường như bị hấp dẫn xung quanh các ứng dụng di động trong vài năm qua. Tôi muốn xác thực và ủy quyền cho người dùng thiết bị di động ngoài người dùng web. Tôi cần phải làm cho điều này đủ liền mạch để người dùng có thể dễ dàng có tài khoản web mà không gây gián đoạn cho dữ liệu của họ. Tôi muốn giải pháp là kiến trúc trong chủ đề, không cụ thể cho bất kỳ ngôn ngữ/khuôn khổ nào.Kiến trúc để xác thực/ủy quyền của người dùng di động và web
Yêu cầu/Giả định
- Người dùng di động phải có khả năng sử dụng các ứng dụng bản địa mà không cần đăng nhập, trong đó có đóng góp nội dung (đánh dấu yêu thích, tải lên hình ảnh, vv).
- Người dùng thiết bị di động phải được xác thực an toàn và duy nhất cho dịch vụ web ngay cả khi không chỉ định thông tin đăng nhập tài khoản.
- Người dùng thiết bị di động có thể có nhiều thiết bị sẽ không biết lẫn nhau.
- Người dùng thiết bị di động sẽ có thể Đăng ký/Đăng nhập, sẽ cuộn vào bất kỳ nội dung nào trong quyền sở hữu của tài khoản. Điều này "đồng bộ hóa" nên xảy ra với mỗi tài khoản mà sau đó đăng nhập.
- Nó không quan trọng cho dù một tài khoản được tạo ra trên điện thoại di động hoặc web.
Kiến trúc coi
- NO SHIRT, NO GIÀY, NO LOGIN = không có đóng góp. Yêu cầu đăng nhập để đóng góp nội dung dưới bất kỳ hình thức nào. Điều này ngăn không cho "đồng bộ hóa" tài khoản thiết bị với tài khoản chính. Chỉ cần yêu cầu một tên người dùng/mật khẩu + mã thông báo để thiết bị đăng nhập. Đối tượng máy chủ: Người dùng, Vai trò
- Tự xác thực nhiều thiết bị. Máy chủ thương lượng với thiết bị và trao bằng chứng xác thực mà thiết bị lưu trữ. Mỗi thiết bị tự xác thực và được liên kết với một tài khoản ẩn danh cho đến khi Đăng ký/Đăng nhập diễn ra. Nếu Đăng ký xảy ra, tài khoản ẩn danh sẽ được chuyển thành tài khoản đã biết. Nếu Đăng nhập xảy ra, nội dung từ tài khoản ẩn danh được chuyển sang tài khoản đã biết và sau đó bị vứt bỏ. Các thiết bị mất chi tiết tự xác thực sẽ nhận được chi tiết xác thực mới và tài khoản ẩn danh trước đó bị hủy (và sau đó hy vọng sẽ bị vứt bỏ) và không thể khôi phục vì nó chưa bao giờ được chuyển đổi thành tài khoản đã biết. Đối tượng máy chủ: Người dùng, Vai trò, Thiết bị
Bạn nghĩ gì là giải pháp tốt? Một trong số đó, hoặc cái gì khác?
Tôi thực sự thích dòng suy nghĩ của bạn. Tôi không chắc chắn nó thực sự minh họa các kỹ thuật phổ biến để tiếp cận vấn đề cụ thể này, nhưng tôi rất đánh giá cao phản ứng của bạn. (Lưu ý rằng tôi đã đọc phản hồi này vào năm 2010, nhưng tôi cảm thấy bắt buộc phải cho bạn biết bây giờ rằng nó đã được đánh giá cao và hữu ích) –