Facebook突破2月的变化经过身份验证的推荐消失了

时间:2013-02-06 06:58:30

标签: facebook-login facebook-oauth facebook-authentication

我开发了一款Facebook游戏,当玩家加载游戏时需要进行身份验证。以前它工作正常。每当“新”用户尝试玩我的游戏时,他需要点击“允许”按钮来授予权限。此对话框之前工作正常,但现在Facebook将应用一些更改,称为2013年2月的更改。

当我通过我的应用程序的Facebook设置“启用”2013年2月的重大更改时,我的应用程序不适用于现有用户和新用户。实际上,“allow”权限对话框未加载。

以前我成功使用以下方法进行身份验证,当我通过游戏设置启用2013年2月的重大更改时,现在无效。 https://www.facebook.com/dialog/oauth? (LINK1)

现在我也尝试使用其他方法进行身份验证 https://graph.facebook.com/oauth/authorize? (链接2)

但它也没有用。应用程序未重定向到应用程序画布页面。实际上我有两次错误代码307,然后它将页面重定向到(链接1) 这不起作用。

你能帮我解决一下发生了什么,我怎样才能使我的身份验证工作?

1 个答案:

答案 0 :(得分:0)

经过身份验证的推介已经消失,因此您需要考虑另一种方式来询问用户的权限。你可以使用javascript SDK。您需要先加载SDK:

(function(d){
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) {return;}
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    ref.parentNode.insertBefore(js, ref);
}(document));

然后你需要初始化你的申请:

window.fbAsyncInit = function()
{
    FB.init({
        appId:'YOUR_APP_ID',
        status:true,
        cookie:true,
        xfbml:true
    });
};

最后,您必须创建一个登录函数,它将处理您的自定义逻辑:

function login()
{
    FB.login(function(response){
        if(response.authResponse)
        {
            //CUSTOM CODE GOES HERE
        }
    },{scope:'publish_actions'});
}