facebook-javascript-sdk - 使用 Facebook 登录 Web 应用程序时,redirect_uri 在哪里设置?

标签 facebook-javascript-sdk

我有一个 angular-ui-router 网络应用程序。

有代码:

window.fbAsyncInit = function () {
    console.log('loginCtrl.window.fbAsyncInit: initiating FB ...');
    FB.init({
        appId: '1058057514286456', // rand's peoplecount-www app
        //status: true,
        //cookie: true,
        xfbml: true,
        version: 'v2.5'
    });
(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 = "//connect.facebook.net/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

当我点击 login-with-facebook 按钮时,它会调用:
FB.login(function (response) {
    console.log('FB Reg : Response - ' + JSON.stringify(response));
    if (response.authResponse) {
        console.log('Welcome!  Fetching your information.... ');
        FB.api('/me', {fields: 'name, email,first_name,last_name,verified'}, function (response) {
            $scope.saveUserInfo('$scope.fbRegistration', response);
            console.log('fbReg: api response='+JSON.stringify(response));
        });
    } else {
        console.log('fbReg: User cancelled login or did not fully authorize. response='+JSON.stringify(response));
    }
});

当我点击 facebook 登录按钮时,我会打开一个 facebook 对话框并显示一条消息:
URL Blocked
This redirect failed because the redirect URI is not whitelisted
in the app’s Client OAuth Settings. Make sure Client and Web OAuth
Login are on and add all your app domains as Valid OAuth Redirect URIs.

它使用什么重定向 URI?我在哪里设置它?

https://developers.facebook.com/docs/facebook-login/web === 这个网页上没有任何关于重定向 URI 的内容

https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow === 这有一个对带有redirect_uri 的url 的调用。我必须使用这种手动方法吗?
https://www.facebook.com/dialog/oauth?
    client_id={app-id}
    &redirect_uri={redirect-uri}

谢谢

最佳答案

所有重定向 URI 都应在应用程序的仪表板中列入白名单。
可以通过 https://developers.facebook.com/ 访问仪表板。

Products

产品中心 您应该看到“ Facebook 登录”(如果没有 - 只需通过“+添加产品”选项创建它)
在“Facebook 登录”中,您会找到“ 有效的 OAuth 重定向 URI ”参数,您可以在其中将您的 URI 列入白名单。

AuthO

Facebook 安全人员解释了为什么可能需要这样做 https://www.facebook.com/FacebookforDevelopers/videos/10152795636318553/在 9:50 左右。

从 2018 年 3 月开始,只有此类列入白名单的 URI 才能调用 Facebook API。

关于facebook-javascript-sdk - 使用 Facebook 登录 Web 应用程序时,redirect_uri 在哪里设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37869403/

相关文章:

javascript - Facebook Javascript SDK使用 'me'调用图形API

python - 如何通过facebook-sdk python api获取用户帖子?

javascript - 使用 Facebook API 更改 Facebook 应用程序的基本设置

facebook - 为什么 FB.UI Share 响应不返回任何内容?

javascript - 启用安全浏览后,FB.UI 不显示缩略图

facebook - 短信确认码太长

ruby-on-rails - fb.Login() 窗口立即关闭并返回 'not_authorized'

javascript - Facebook FB.ui,Feed 消息对象不工作

javascript - Facebook 的 JS SDK 中的 ES5() 包装器是否开源?

node.js - 使用 Node 从图形 api 获取数据