Tôi muốn một trang web (Rails 3.1 với Devise và Omniauth) và một ứng dụng di động (iOS5) để chia sẻ xác thực. Điều này có nghĩa là tôi muốn người dùng có thể gửi SSI cho trang web bằng Facebook hoặc SSI tới ứng dụng di động và ứng dụng di động nói chuyện với API của trang web bằng thông tin xác thực của người dùng để xác thực với trang web.Chia sẻ truy cập Facebook Mã thông báo giữa trang web và ứng dụng di động
Tôi hiện đang có mặt web hoạt động độc đáo với Người dùng có thể SSI vào tài khoản. Tôi cũng có ứng dụng di động đang hoạt động, hỗ trợ SSI cho người dùng. Cả hai đều đang sử dụng cùng một ứng dụng Facebook.
Sự cố của tôi là tìm thấy thứ gì đó được chia sẻ giữa hai thứ mà tôi có thể sử dụng cho ứng dụng dành cho thiết bị di động để xác thực đối với trang web. Rõ ràng cả hai đều có quyền truy cập vào cùng một ID người dùng nhưng điều này dường như không an toàn lắm. Ứng dụng di động của tôi có Mã thông báo truy cập, nhưng điều này khác với mã thông báo truy cập của trang web, mặc dù chúng trông giống nhau và mã thông báo truy cập di động của tôi hết hạn trong khi mã thông báo truy cập web của tôi không có.
Web/Rails Mã (Không thực):
DDDAKnu1dg40BDHEWN0VDssxs8GGF8ZBEEOb38HnS0IUEQC1NSufmPCcGeFkTuw39ZDl7OhlZBD2jwJEqXdAZCtZBflJRQKZB4ZA
thoại di động/iOS Mã (Không thực)
BDDAKnu1dg40BDEo3YjZD2hIwjfZB4slXJj3fmHfzLh5q1xZD0ShfJCb6PMjnApkpM0FTuGGvWnzZBQy4GZCMuysEEqhMz8YgruD53TXKTZC0GPFkfVe0b6fe8wieLLOZDDZA
Sử dụng Facebook access token debugger tôi nhận được như sau (Tất cả những gì bị loại bỏ là giống hệt nhau giữa thẻ):
Đối với Web/Rails Mã:
App ID:
XXXXXXXXXXXXXXXX : SomeAppName
User ID:
XXXXXXXX : My Name
Issued:
1327507734 : 8:08 am Jan 25 2012
Expires:
Never
Valid: True
Origin: Web
Scopes: email offline_access
Đối thoại di động/iOS:
App ID:
XXXXXXXXXXXXXXXX : SomeAppName
Metadata: {"sso":"iphone-safari"}
User ID:
XXXXXXXX : My Name
Issued:
1327507734 : 8:08 am Jan 25 2012
Expires:
Never
Valid: True
Origin: Native Mobile
Scopes: email offline_access
Xin chào. bạn có tìm thấy giải pháp cho vấn đề này không? Tôi đang đối mặt với cùng một vấn đề ngay bây giờ ... – alex
Xin chào. Không may là không. Lạ lùng cho rằng nó có vẻ là một yêu cầu khá phổ biến. Đã dành một thời gian dài tìm kiếm nhưng thấy không có gì hữu ích. Chuyển sang cái gì khác nhưng sẽ phải giải quyết điều này khá sớm. – Undistraction
Ứng dụng của tôi không có yêu cầu bảo mật nghiêm ngặt, nhưng, những gì chúng tôi làm chỉ đơn giản là kiểm tra với Facebook để tìm id người dùng được liên kết với mỗi mã thông báo truy cập để khớp tài khoản – JeffS