所以我想进行身份验证,以便用户可以通过twitter和discord进行身份验证。所以我在twitter和discorddeveloperportal中创建了开发者账号。然后我为两个社交网站制定了护照策略。作为参考,我在以下(推特(中提供了我的战略凭据:
{
consumerKey: process.env.TWITTER_CONSUMER_KEY,
consumerSecret: process.env.TWITTER_CONSUMER_SECRET,
callbackURL: "http://localhost:9000/api/auth/twitter/callback",
includeEmail: true,
}
discord类似于twitter。
推特的路线是:
router.get("/auth/discord", passport.authenticate("discord"))
router.get(
"/auth/discord/redirect",
passport.authenticate("discord"),
(req, res) => {
res.json({
success: true,
user: req.user,
})
}
)
现在我的问题是,在用户授权后,我如何将用户重定向到SPA路由(React/Vue(?
正如我在passport.js文档中看到的,当您调用CCD_ 1函数。这两个是:successRedirect
和failureRedirect
。
第一个将用户重定向到sigin页面。第二个将在用户重定向回时处理身份验证结果。
查看此项;(passportjs.org/tutorials/auth0/routes
这确实非常简单。我只需要添加重定向到我的前端url
router.get("/auth/twitter", passport.authenticate("twitter"))
router.get(
"/auth/twitter/callback",
passport.authenticate("twitter", {
failureRedirect: "http://localhost:3000/login",
}),
(req, res) => {
res.redirect("http://localhost:3000")
}
)