Python Facebook登录Django后端,前端分离较大。
我正在尝试登录Facebook 我想要的是创建和使用端点,就像我使用“标准”电子邮件登录端点一样,因为我需要在后端和前端之间有一个很大的分离。 我认为做这件事应该很容易,但我不知道怎么做 我阅读并在浏览器中使用Url时,它工作正常,我在响应Url中获得令牌。但是,它总是发生在前端 我尝试了很多教程,这是一个例子,它是有效的,但我是后端,我不允许有这样的东西,因为前端也是用Django编写的 所以,我不知道当你只是后端的时候,工作流应该是怎样的,我不知道前端开发人员等待我做什么,因为身份验证实际上发生在前端 我有点迷路了Python Facebook登录Django后端,前端分离较大。,python,django,facebook,backend,Python,Django,Facebook,Backend,我正在尝试登录Facebook 我想要的是创建和使用端点,就像我使用“标准”电子邮件登录端点一样,因为我需要在后端和前端之间有一个很大的分离。 我认为做这件事应该很容易,但我不知道怎么做 我阅读并在浏览器中使用Url时,它工作正常,我在响应Url中获得令牌。但是,它总是发生在前端 我尝试了很多教程,这是一个例子,它是有效的,但我是后端,我不允许有这样的东西,因为前端也是用Django编写的 所以,我不知道当你只是后端的时候,工作流应该是怎样的,我不知道前端开发人员等待我做什么,因为身份验证实际上
也许有人和后端有同样的问题,可以帮助我,至少告诉我,工作流后端-前端应该是怎样的 Facebook JavaScript/Android/iOs SDK允许客户端对用户进行身份验证。一旦用户通过facebook验证,您的客户端就可以通过https通过HTTP POST发送
accessToken
这就是我在类似情况下所做的
在后端,
通过验证用户的accessToken
,创建API端点以对用户进行身份验证
POST/auth/
使用此端点验证客户端发送的accessToken
。应使用你的应用程序密码通过调用Facebook服务验证令牌。验证完成后,以JSON形式返回响应,详细说明身份验证的状态,如果成功,则返回用户标识详细信息
应要求,
- 正文应包含
作为键/头accessToken
标题应为内容类型
application/json
- 必须验证任何其他预期标头
- 行动状况
- 操作成功时的用户标识详细信息
- 一个JWT或一些sorta令牌,用于识别用户可以在
头中包含的用户,这样您就可以验证请求,只需根据用户验证令牌即可。将过期设置为授权
如果accessToken
过期,请在客户端刷新JWT
,然后再次验证accessToken
- 将
作为POST请求发送到accessToken
/auth
- 如果身份验证状态为success,则让他们在本地存储JWT,并在即将到来的请求中使用它
- 若令牌过期或被篡改,请重定向客户端以再次通过Facebook验证
- 从用户注销时,从客户端删除令牌
正确地记录您的API并与他们共享它因此您的前端和后端需要“很大的分离”,但您仍然使用Django来实现这两个功能?现在我有点不知所措你考虑过Facebook JavaScript SDK吗?我不使用Django作为前端。我不是前端开发人员,那只是为了测试。他们使用iOS和Android。我与前端没有任何关系,我只给出“端点”,这就是问题所在。JavaScript SDK也是如此,我与前端没有任何关系。我使用太多JWT,你用JWT生成的令牌与Facebook令牌不同吗?JWT令牌可以签名,验证JWT比验证Facebook令牌更容易,因为验证Facebook令牌你需要调用Facebook服务。是的,这是真的。知道了。