我们使用 everyauth 将 Facebook 身份验证集成到我们的用户帐户系统(nodejs、express)中。
现在做了什么(在伪代码中):
everyauth
.facebook
.appId('....')
.appSecret('.....')
.findOrCreateUser(
function (session, accessToken, accessTokenExtra, fbUserMetadata) {
...
}
.redirectPath('/internal/facebook');
身份验证完美运行。问题是通过此流程时:
用户现在没有其用户代理的 Facebook cookie(用户未登录到 Facebook)。
用户通过 Facebook 调用身份验证(调用everyauth 的/auth/facebook服务)
Facebook“登录/登录”页面已加载。用户想要创建新的 Facebook 帐户并选择“注册 Facebook”。
用户完成注册详细信息,然后应通过我们的应用程序通过单击他刚刚收到的邮件中的链接来确认他的 Facebook 帐户注册。
所以用户去他的邮件,点击链接 - 他被重定向到根 - “/” - 我们的用户帐户。- 这是一个没有 UI 的网络服务,它为不同的应用程序提供用户帐户服务......
问题如下:
- 用户通过我们的应用程序注册 Facebook 后如何获取用户?在这种情况下不调用findOrCreateUser() 。
- 用户通过我们的 App 注册 Facebook 后(用户注册成功后),我们如何覆盖重定向到我们 App 的“/”的行为?