随着新的Javascript SDK和OAuth 2.0的发布,我想知道是否有可能在不重定向用户的情况下更新SignedRequest(和authtoken),所以我使用了以下方法。基本上,这是一个保持活力的方法,用于我的应用程序绕过令牌的2小时到期时间窗口。使用Javascript OAuth 2.0 SDK更新签名请求
我的应用程序包括:
- 闪光灯前端+的Javascript
- Web服务(ASMX)使用Facebook的C#SDK
要更新签名的请求,我做到以下几点:
- 每20秒我FB.getLoginStatus使用getTimeout调用()
- 这会返回一个新的signedRequest
我更新我的ajaxSetup以在每次对我的服务器的调用中包含此参数。
var signedRequest; function updateSignedRequest(_signedRequest) { signedRequest = _signedRequest; $.ajaxSetup({ data: { "signed_request": signedRequest} }); } (function ensureAuth() { setTimeout(function() { checkAuth(); ensureAuth(); }, 20000); })(); function checkAuth() { FB.getLoginStatus(handleResCallback, true); } function handleResCallback(res) { if (!res.authResponse) { handleNotConnected(); } else { signedRequest = res.authResponse.signedRequest; } }
几个问题:
我相信Facebook的C#SDK着眼于对每个新的请求,而不是饼干的signed_request
参数。这会一直如此吗?
另外,你可以看到在这种方法中的任何其他洞?
我认为这是因为SDK是这意味着该Cookie可以与非可变数据工作的Facebook环境中工作[可]这就像一个对象的所有应用程序 的步行和问题目前尚不清楚为什么你不想查看sigend请求 –