我正在使用 Passport-facebook 使用 facebook 登录网站(实现已完成并且运行良好)。现在,我想将用户重定向到一个包含表单的页面,他们从 Facebook 登录后应该填写该表单,如果不这样做(即不填写表单并提交),他们不应该能够访问网站上的任何其他链接。
这是我想到的方法:用户登录后,我将在策略内进行数据库查询,以查看他们之前是否提交了数据,如果他们已经提交,我将在我将返回到完成回调的对象中设置 session.filledOrNot = true
并使用此属性允许他们继续或重定向回同一页面。
这是一个好方法吗?
最佳答案
这可以通过两种方式完成。
1.您可以让用户在注册/注册时填写表单(无论您如何调用它)。如果用户没有填写表单,则根本不让他们注册。
2.第二种方法就是你所建议的。让用户无需填写表单即可注册,用户登录后,检查数据库中是否满足条件“session.filledOrNot = true”。缺点是您需要在每个 api 请求中进行此查询,而不仅仅是登录请求。
关于node.js - Passport 登录重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24602445/