【发布时间】:2026-01-29 21:40:01
【问题描述】:
在尝试实现 Passport 模块并决定我对不知道幕后发生的确切情况感到很不自在后,我想出了自己的方法来使用 Facebook 验证移动用户的身份。以下是我的方法,但我担心我可能会错过一些重要的东西,因为我是新手。任何见解将不胜感激。
重要提示:每个用户都必须使用 Facebook 登录。
移动客户端使用 Facebook API 对用户进行身份验证并接收 access_token。
对我的 node.js 服务器的每个后续请求都将包含该用户的唯一 ID 和当前 Facebook access_token。
请求将通过 Sails.js 策略(中间件),该策略将请求中的 Facebook access_token 与当前保存到数据库中该用户的 User 对象的 access_token 进行比较。
如果它们匹配,请求将继续执行所需的操作。如果它们不匹配,服务器将使用请求中提供的访问令牌调用
graph.facebook.com/me/?access_token=。如果从 Facebook 服务器返回的唯一 Facebook ID 与初始注册时已保存到该用户的用户对象的 Facebook ID 匹配,则新的 access_token 将保存/刷新到该用户对象,并且请求继续到所需的行动。
同样重要:移动客户端会自动刷新 Facebook access_token 并根据需要将其包含在对我的服务器的请求中。
提前致谢!
【问题讨论】:
-
您是否为存储在服务器/客户端机器上的令牌实施任何超时机制?
标签: node.js facebook-graph-api authentication server sails.js