尝试将facebook登录添加到我正在处理的项目的现有登录系统上.使用FB JS SDK构建角度.这主要是为了允许无摩擦登录,目前还没有使用访问令牌来使用FB API进行进一步调用.
所以作为一个新用户,他们点击FB登录,接受权限等,然后它会激活我一个访问令牌等.新用户是在我的数据库中创建的,还有accesstoken
FB userid
,等等.
我现在如何使用userid
和accesstoken
现在存储在我的数据库中对用户进行身份验证?据我所知,访问令牌实际上每个页面加载/请求都会改变,因此下次用户点击FB登录时,或者我检查FB登录状态时,我唯一不变的就是userid
.
已经对SO和FB文档进行了各种阅读,例如:
https://developers.facebook.com/docs/facebook-login/web https://developers.facebook.com/docs/facebook-login/multiple-providers https://developers.facebook.com/docs/facebook-登录/手动集结一个登录流#checktoken
如何在服务器端消费Facebook用户访问令牌?
......虽然这只会让事情进一步混乱.
我想我会把那个存储accesstoken
然后检查它的有效性,但是由于访问令牌的各种实例到期和失效,这似乎也是一个不完整的解决方案.
所以我的问题是:如何在我自己的数据库中与对方用户安全地验证我的FB用户?
Facebook登录请求返回用户ID +短期访问令牌(客户端).
使用服务器端Facebook SDK 检查访问令牌的有效性(如果有效,将返回user_id和app_id字段).
您可以信任从Facebook API返回的user_id字段,以检查您现有的用户数据库.