2012-05-07 28 views
6

Trong khi đọc bài đăng của Facebook về offline_access permission removal, tôi đã bị nhầm lẫn hoàn toàn do tham chiếu đến mã thông báo truy cập ngắn và tồn tại lâu.Thẻ truy cập Facebook dài và tồn tại trong thời gian ngắn và hết hạn sau khi xóa offline_access

This page nêu

Thời gian mà một thẻ truy cập nhất định là có giá trị phụ thuộc vào cách nó được tạo

Nhưng tôi không tìm thấy bất kỳ thêm thông tin.

Bất kỳ ai cũng có thông tin chi tiết về cách quy trình xác định này hoạt động chi tiết như thế nào?

+1

Bạn đang sử dụng kịch bản nào trong ứng dụng của mình? tôi nghĩ rằng tất cả các trường hợp cạnh kỳ lạ nhất được bao phủ trong tài liệu đó – Igy

Trả lời

8

access token ứng dụng của bạn được cho một Client-Side authentication là ngắn ngủi (khoảng 2 giờ), nhưng bạn có thể mở rộng nó và nhận được một mã thông báo dài sống bằng cách sử dụng new endpoint với một access token hợp lệ. Trong Handling Invalid/Expired Access Tokens nó nói dưới Desktop Web và Mobile ứng dụng Web mà thực hiện xác thực với Javascript SDK:

Calling FB.getLoginStatus() hoặc đảm bảo tình trạng: đúng được thiết lập khi bạn gọi FB.init () có nghĩa là lần sau khi người dùng truy cập vào ứng dụng của bạn và được đăng nhập vào Facebook, đối tượng authResponse bạn được chuyển thành kết quả của các cuộc gọi đó sẽ chứa mã thông báo truy cập mới, hợp lệ.

Trong trường hợp này, chỉ đơn giản là hành động của người dùng sử dụng ứng dụng của bạn tạo ngầm mã thông báo truy cập mới.

Nếu bạn sử dụng luồng Server-Side authentication thì bạn sẽ tự động nhận được mã thông báo dài (khoảng 60 ngày) tự động. Khi hết hạn, bạn phải gửi cho người dùng xác thực lại trong cùng một luồng (trao đổi mã).

Tất nhiên, bạn có thể sử dụng cả hai phương pháp và cách đó bạn có thể nhận được mã thông báo dài trong máy chủ và mã thông báo ngắn trong máy khách.

+0

Bất kỳ con trỏ nào trong các ngữ cảnh sau đây? Xác thực trong ứng dụng gốc của Android Xác thực trong ứng dụng iOS gốc Xác thực trong tab trang trên www.facebook.com Xác thực trong Trang vải trên apps.facebook.com –

+0

[Xử lý thẻ truy cập không hợp lệ và hết hạn] (http://developers.facebook.com/docs/authentication/access-token-expiration/) hướng dẫn nói về tất cả những điều đó. Bên trong một tab trang, bạn có thể sử dụng js sdk mà làm cho nó giống nhau, trong ngữ cảnh này, như ứng dụng canvas. –

+0

Cảm ơn Nitzan. Từ câu trả lời của bạn tôi có thể giả sử Android/iOs/Server-flow nhận được một mã thông báo tồn tại lâu (60 ngày), Client-flow/Page-tab/Canvas nhận được một mã thông báo ngắn ngủi (vài giờ) không? –

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