Theo tôi được biết, đây là quá trình cơ bản cho Facebook ứng dụng iframe vải mới bằng cách sử dụng API OAuth2 trong một nutshell:Cách chính xác để làm mới mã thông báo truy cập Facebook OAuth2 sau khi hết hạn là gì?
- Redirect (hoặc có nhấp chuột liên kết người dùng) URL cho phép ứng dụng của
- cho phép tài khoản và được chuyển hướng đến URL gọi lại của bạn
- callback sử dụng "code" tham số để có được một access token
- truy cập thẻ được sử dụng với Graph API để kéo hoặc đẩy thông tin
Vấn đề là mã thông báo truy cập hết hạn nhanh chóng và cần được "làm mới", vì vậy câu hỏi của tôi là 1) làm cách nào để bạn phát hiện thấy mã thông báo đã hết hạn ngoài việc cố gắng sử dụng và chỉ gặp lỗi? và 2) thực hành tốt nhất để lấy mã thông báo mới là gì?
Hiện tại, tôi chỉ phát hiện thấy có lỗi khi cố gắng lấy thông tin của người dùng bằng mã thông báo truy cập của họ, sau đó chuyển hướng đến URL ủy quyền một lần nữa - vì họ đã ủy quyền ứng dụng một trang trống nhấp nháy và họ được chuyển hướng trở lại để gọi lại ứng dụng của tôi, nơi tôi nhận được một mã thông báo mới. Nó rất khó khăn, tôi không thể tin rằng đây là phương pháp thích hợp.
Tôi nghi ngờ đây là câu trả lời nhưng tôi cảm thấy điều quan trọng là phải đăng câu hỏi này và nhận được một số câu trả lời. Có nhiều bài đăng trùng lặp về hết hạn mã thông báo truy cập và các vấn đề iframe, nhưng không ai hỏi về vấn đề cụ thể này mà tài liệu trên Facebook bị che khuất.Tôi sẽ cung cấp cho bạn cái gật đầu để có câu trả lời tốt nhất sau một hoặc hai ngày để cho mọi người kêu vang, cảm ơn. – mtjhax
Nhưng điều gì sẽ xảy ra nếu ứng dụng hoặc trò chơi của bạn cần lặp lại các cuộc gọi API trên Facebook, ví dụ như từ Javascript hoặc Flash? Bạn không thể mong đợi người dùng buộc phải tải lại ứng dụng của bạn mỗi giờ, tại những thời điểm tiềm năng quan trọng trong trò chơi? – Toxikman
Tôi biết đây là một chút cũ nên nó thậm chí không có vấn đề bây giờ, nhưng bạn có thể sử dụng URL Trạng thái facebook (từ Facebook API để có được trạng thái của một phiên) – qodeninja