Django Facebook登录/Graph API-开始使用localhost和http(非https)
在过去的几个小时里,我一直在研究和兜圈子。非常感谢您的帮助。我的设置:Django Facebook登录/Graph API-开始使用localhost和http(非https),django,facebook-graph-api,localhost,Django,Facebook Graph Api,Localhost,在过去的几个小时里,我一直在研究和兜圈子。非常感谢您的帮助。我的设置: 苹果操作系统 Django 2.0.2(我使用python manage.py runserver在本地主机上工作) 我的应用程序URL:http://localhost:8000/ 试图使用Facebook登录/Facebook API管理页面 我只是尝试登录来设置一个访问令牌-遵循似乎是一个简单的登录路径。但是,在控制台上,我收到以下错误: Insecure Login Blocked: You can't get
- 苹果操作系统
- Django 2.0.2(我使用
在本地主机上工作)python manage.py runserver
- 我的应用程序URL:
http://localhost:8000/
- 试图使用Facebook登录/Facebook API管理页面
Insecure Login Blocked: You can't get an access token or log in to this app from an insecure page. Try re-loading the page as https://
这似乎有很好的文件记录,但这些文件似乎很旧。到目前为止,产品“Facebook登录”有一个名为“强制HTTPS”的设置,对于我刚刚创建并想要测试的应用程序,该设置无法更改(是)。所以很明显,如果没有HTTPS域,我是无法做到这一点的,尽管有些帖子不这么说。这让我开始研究如何获得一个安全的https://localhost
设置,但这似乎很复杂,我希望我错过了一些东西,以便我可以集中精力学习Facebook Graph API
我的代码是空的,只是尝试使用Javascript SDK登录,一旦我完成了,我将使用Python在会话中管理它。欢迎反馈
<body>
<!-- Facebook SDK: https://developers.facebook.com/docs/javascript/quickstart -->
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '**App ID here**',
autoLogAppEvents : true,
xfbml : true,
version : 'v3.0',
cookie : true /* override setting */
});
/* testing login with alert */
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
alert('logged in');
console.log('Logged in.');
}
else {
alert('NOT logged in');
FB.login();
}
});
};
(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>
window.fbAsyninit=函数(){
FB.init({
应用程序ID:“**此处的应用程序ID**”,
自动假肢:对,
xfbml:是的,
版本:“v3.0”,
cookie:true/*覆盖设置*/
});
/*使用警报测试登录*/
FB.getLoginStatus(函数(响应){
如果(response.status===“已连接”){
警报(“已登录”);
console.log(“登录”);
}
否则{
警报(“未登录”);
FB.login();
}
});
};
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;js.id=id;
js.src=”https://connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
此外,要在HTTP中获取令牌,我是否应该像Facebook所描述的那样手动执行此操作我正在尝试下一个,但我真的很想在这个论坛上分享任何专业知识!谢谢。我也面临着同样的问题,经过数小时的研究(即使是本地开发),似乎没有办法绕过SSL设置。因此,我也要设置一个HTTPS服务器 以下是我找到的一些有用的链接: 希望这有帮助:)非常感谢:)这些链接非常有帮助,尽管我使用的是django,因为我使用的是django——设置起来非常简单,这要感谢jdero的评论。很高兴听到我们都在同一条船上,所以至少这(HTTPS)是人们在不久的将来阅读这篇文章的唯一/正确的方法。