多个OAuth2.0方法使用nodejs passport登录同一个账号

Using nodejs passport for multiple OAuth2.0 methods to login to the same account

我正在尝试使用护照来使用 OAuth2 登录,但我没有完全理解文档。

我的最终目标是让我网站的首页通过 twitch/google/facebook 有多个登录选项,如果您的电子邮件恰好匹配,所有登录选项都会将您带到同一个帐户。 (执行此操作的示例服务:streamlabs login)我想在不使用用户名和密码的情况下执行此操作,因此我的每个数据库文档只有一个唯一的 ID,用于将每个帐户和后续对象键标识为 twitch/google/facebook 包含API 令牌和电子邮件。

我不明白的部分是当用户登录时如何告诉 passport 识别同一个 DB doc,我认为它可能是你使用 done(null, 个人资料) 告诉护照他们已经成功授权。

我是否必须将 profile 更改为唯一的数据库文档 ID 以使其在所有身份验证方法中通用?

事实证明我是对的,希望在我不得不更改一堆代码之前早点得到答案