gpt4 book ai didi

facebook - 无法在 Facebook JS SDK : "This authorization code has been used." or how to get new authorisation token? 中授权用户

转载 作者:行者123 更新时间:2023-11-30 05:19:40 31 4
gpt4 key购买 nike

我正在尝试使用 Facebook 对用户进行身份验证。它工作正常,除了 Ajax 调用。大多数时候它只是发送旧 token ,我得到:

{"error":{"message":"This authorization code has been used.","type":"OAuthException","code":100}}

所以我尝试做的是用

包装每个 ajax 调用
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
return fn();
...

这没有用,所以我添加了 : true 作为 getLoginStatus 的参数以防止缓存:

FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
console.log('connected');
fn();
} else if (response.status === 'not_authorized') {
console.log('not_authorized);
} else {
console.log('not_logged_in');
}
},true);

太棒了!除了它非常慢。难道我做错了什么?我能否在每次操作后获得新 token ,这样我就无需等待下一个操作?

谢谢W

最佳答案

Facebook 是这样说的:

“OAuth 授权代码的新安全限制。我们只允许将授权代码交换为访问 token 一次,并要求在创建后 10 分钟内将其交换为访问 token 。这符合 OAuth 2.0 规范,该规范从一开始就声明“授权代码必须是短期的且一次性使用的”。有关详细信息,请查看我们的身份验证文档。

解决这个问题的方法是使用扩展您的访问 token api:

https://developers.facebook.com/docs/howtos/login/extending-tokens/

关于facebook - 无法在 Facebook JS SDK : "This authorization code has been used." or how to get new authorisation token? 中授权用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16224141/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com