小编Jas*_*son的帖子

使用"服务器端工作流程"(OAuth 2.0)登录后,将引发FB auth.logout

注意:我们的(网络)应用程序运行正常,直到我们在上周末升级到Oauth 2.0工作流程.

当用户"与Facebook连接"到我们的(网络)应用程序时,我们使用Facebook身份验证文档中描述的"服务器端工作流程"将其登录到Facebook .但是,当用户访问包含以下javascript代码的应用程序中的主页时,Facebook正在提升auth.logout事件:

window.fbAsyncInit = function() {
    FB.init({appId: 'XXX', status: true, cookie: true, xfbml: true, channelUrl: 'http://XXX/fbchannel.html', oauth: true}); 
    FB.Event.subscribe('auth.logout', function(response) {
        logout();
    });
};
(function() {
    var e = document.createElement('script');
    e.type = 'text/javascript';
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    e.async = true;
    document.getElementById('fb-root').appendChild(e);
}());
function logout(){
    new Ajax.Request('http://XXX/logout');
}
Run Code Online (Sandbox Code Playgroud)

看来,当用户登录Facebook时,他们没有登录我们的应用程序(如果您在浏览器的第二个选项卡中打开facebook.com并在我们的应用程序登录后重新加载页面,您将看到你确实登录了facebook.com).

在使用OAuth早期版本中不需要的"服务器端工作流"时,是否需要在OAuth 2.0中执行额外步骤以将用户登录到我们的应用程序中?用户在连接后是否必须通过facebook明确登录?

任何帮助将非常感激.

杰森先生,谢谢你

PS-通过客户端流程(在您之前连接之后)登录我们的应用程序工作正常.只有在通过服务器端工作流程连接和登录时,我们才会遇到自动注销问题.

authentication facebook logout oauth-2.0

6
推荐指数
1
解决办法
1563
查看次数

标签 统计

authentication ×1

facebook ×1

logout ×1

oauth-2.0 ×1