使用 EJS 查看 Passport 和 Sails.js 中使用的用户电子邮件和提供商

Viewing user email and provider used in Passport and Sails.js with EJS

如何在使用 EJS、Passport 和 Sails.js 制作的页面中查看使用的登录提供程序?想法是用facebook或twitter登录后可以看到。

经过几个小时的尝试,我找到了答案。我正在使用 sails-generate-auth 生成的代码。它创建一个名为 AuthController 的文件(在 api/controllers 文件夹中)。

在回调函数中,调用了other named passport.callback,其中有一行是这样的:

req.session.authenticated = true;

在那行之后,你可以放另一行:

req.session.provider = req.params.provider;

通过放置该行,您可以在 EJS 中访问用户选择的登录提供程序,如下所示

<div>Logged as <%=req.user.email%> (<%=req.session.provider%>)</div>