2014-07-15 17 views
6

Tôi đang lưu trữ mã thông báo truy cập lâu dài cho người dùng ứng dụng của tôi đã liên kết tài khoản Facebook của họ với nó. Vì sự sụp đổ của mã thông báo offline_access, các mã thông báo tồn tại lâu này có ngày hết hạn là "khoảng 60 ngày". Tuy nhiên, họ có thể tự làm mới khi người dùng tương tác với Facebook. Theo số documentation:Facebook: Làm mới mã thông báo truy cập lâu dài tự động

Mã thông báo này sẽ được làm mới một lần mỗi ngày khi người dùng ứng dụng của bạn gửi yêu cầu đến máy chủ của Facebook. Nếu không có yêu cầu nào được thực hiện, mã thông báo sẽ hết hạn sau khoảng 60 ngày và người đó sẽ phải thực hiện lại luồng đăng nhập để nhận mã thông báo mới.

Điều tôi muốn biết là những gì cấu thành yêu cầu các máy chủ của Facebook. Người dùng có phải đăng nhập vào trang web Facebook, ứng dụng dành cho thiết bị di động hoặc sử dụng nút Thích ở đâu đó không? Hoặc ứng dụng của tôi có thực hiện yêu cầu thay mặt cho số người dùng không?

Ngoài ra, khi mã thông báo được làm mới, chúng có được làm mới thêm 60 ngày nữa không? Hay chúng được làm mới trong một thời gian ngắn hơn?

Tôi không thể tìm thấy các câu trả lời cụ thể này trong tài liệu hoặc trong các câu hỏi khác được yêu cầu tại đây, vì vậy cảm ơn trước bất kỳ ai có thể có thêm chi tiết.

+0

Bạn đã bao giờ tính t của anh ta? Tôi gặp sự cố có vẻ như SDK iOS không làm mới mã thông báo tồn tại lâu dài và người dùng của tôi sẽ bị đăng xuất sau mỗi 60 ngày. – bplattenburg

+1

Tôi không nhớ nếu tôi cố sửa nó. Tôi nghĩ rằng tôi đã triển khai một quy trình trong đó, nếu thao tác thất bại vì mã thông báo đã lỗi thời hoặc bị thu hồi, ứng dụng sẽ cố gắng gia hạn quy trình bằng cách sử dụng mã thông báo làm mới. Và nếu điều đó không thành công, tôi phải yêu cầu người dùng liên kết lại tài khoản của họ với ứng dụng của tôi. Không phải là một sửa chữa tuyệt vời, nhưng tốt nhất tôi có thể quản lý vào thời điểm đó. – jstlaurent

Trả lời

1

Các dòng trước với một bạn dán rất quan trọng: Native mobile applications using Facebook's SDKs will get long-lived access tokens, good for about 60 days

Phần bạn lôi ra chỉ đề cập đến iOS và Android ứng dụng bằng cách sử dụng Facebook SDK - SDK thực hiện cuộc gọi API để mở rộng được dấu hiệu, mà sẽ chỉ hoạt động từ SDK và mã thông báo được tạo bởi SDK di động gốc -

Các ứng dụng khác (ví dụ: trang web, ứng dụng trên facebook.com) cần sử dụng luồng đăng nhập được ghi lại ở nơi khác trong tài liệu và yêu cầu người dùng phải đăng nhập vào Facebook trong trình duyệt của họ

+0

Bạn nói đúng. Tôi phải trộn lẫn phần đó với phần sau nói về mã thông báo truy cập Web. – jstlaurent

+1

ok nhưng SDK sẽ nhận được mã thông báo mới mỗi ngày hay các máy chủ fb sẽ kéo dài hết hạn mã thông báo hiện tại? – Filippos

Các vấn đề liên quan