gpt4 book ai didi

javascript - Passport js 通过 url 进行身份验证

转载 作者:行者123 更新时间:2023-11-30 10:06:52 24 4
gpt4 key购买 nike

我正在为我的应用程序使用 Express JS 和 Passport JS。

我想为新用户提供一次通过特定 URL 自动登录的机会。我可以使用 URL 中的信息从数据库中获取用户,所以我有一个用户对象(带有 ID、电子邮件、散列密码等),但我不知道如何使用 Passport 来验证用户和登录。

我尝试使用从数据库中获取的用户对象执行以下函数:

req.login(user, function(err) {
if (err) { return next(err); }
return res.redirect('/users/' + req.user.username);
});

来源:http://passportjs.org/guide/login/

但这没有用。猜猜这只是因为用户对象包含散列密码......任何人以前试过这个并且可以告诉我它是如何工作的吗?

最佳答案

也许 https://github.com/yarax/passport-url策略对你有用

基本逻辑是从 url 获取参数

UrlStrategy.prototype.authenticate = function(req, options) {
var self = this;

function verified(err, user, info) {
if (err) { return self.redirect(self.failRedirect); } // redirect in fail
self.success(user, info); // done callback
}

this._verify(req.query[this.varName], verified);
};

这里有完整的例子 https://github.com/yarax/passport-url/blob/master/index.js

关于javascript - Passport js 通过 url 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28611913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com