我有一个 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/ 访问仪表板。
下 产品中心 您应该看到“ Facebook 登录”(如果没有 - 只需通过“+添加产品”选项创建它)
在“Facebook 登录”中,您会找到“ 有效的 OAuth 重定向 URI ”参数,您可以在其中将您的 URI 列入白名单。
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/