Facebook是否需要重新认证?

时间:2019-01-15 01:36:55

标签: facebook facebook-graph-api

我在上周四收到此消息。

我们的应用许可政策中的最新更新对用户许可(与用户的个人资料相关的许可,例如信息,照片,性别,年龄段)进行了90天的过期。 立即生效,这现在适用于{my-app}

我已阅读https://developers.facebook.com/docs/facebook-login/auth-vs-data,并试图检查在data_access_expires_at时间之后发生的情况。我想知道API响应如何变化。

但是,我发现没有文档过时,也没有访问令牌的过时方法。

我确实具有在访问令牌无效时重新获得访问令牌的过程。但是,此过程是否涵盖了需要重新验证的情况?

1 个答案:

答案 0 :(得分:0)

Facebook不提供“重新授权”,但您可以自己构建。 Facebook还没有提供编程的方式来扩展令牌。但是,如果对您的应用进行身份验证的用户仍然对您的应用保持活动状态,他们会说什么-他们的令牌永远不会过期。如果他们在您的应用中不活跃-访问只能持续90天。

您需要做的是在页面上放置Facebook的登录脚本。这基本上建立了“活动”:

<script>
    
    window.fbAsyncInit = function() {

        FB.Event.subscribe('auth.statusChange', function(response) {            
            // don't have to do anything actually
        });
        
        FB.init({
            appId            : '${facebookAppId}',
            autoLogAppEvents : true,
            status : true, // check login status
            xfbml            : true,
            version          : 'v3.2'
        });
    };

    (function(d, s, id){
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) {return;}
        js = d.createElement(s); js.id = id;
        js.src = "https://connect.facebook.net/en_US/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
</script>