authentication - node.js 的用户身份验证库?

标签 authentication node.js serverside-javascript

是否有任何现有的 node.js 用户身份验证库?特别是,我正在寻找可以为用户进行密码身份验证的东西(使用自定义后端身份验证数据库),并将该用户与 session 相关联。

在我编写一个 auth 库之前,我想我会看看人们是否知道现有的库。通过谷歌搜索找不到任何明显的东西。

-Shreyas

最佳答案

如果您正在寻找 Connect 或 Express 的身份验证框架,Passport 值得研究:https://github.com/jaredhanson/passport

(披露:我是 Passport 的开发者)

我在调查了 connect-auth 和everyauth 之后开发了 Passport。虽然它们都是很棒的模块,但它们并不适合我的需求。我想要更轻巧且不引人注目的东西。

Passport 被分解为单独的模块,因此您可以选择仅使用您需要的内容(OAuth,仅在必要时使用)。 Passport 也不会在您的应用程序中安装任何路由,让您可以灵活地决定何时何地进行身份验证,并使用 Hook 来控制身份验证成功或失败时发生的情况。

例如,这里是设置基于表单(用户名和密码)身份验证的两步过程:

passport.use(new LocalStrategy(
  function(username, password, done) {
    // Find the user from your DB (MongoDB, CouchDB, other...)
    User.findOne({ username: username, password: password }, function (err, user) {
      done(err, user);
    });
  }
));

app.post('/login', 
  passport.authenticate('local', { failureRedirect: '/login' }),
  function(req, res) {
    // Authentication successful. Redirect home.
    res.redirect('/');
  });

其他策略可用于通过 Facebook、Twitter 等进行身份验证。如有必要,可以插入自定义策略。

关于authentication - node.js 的用户身份验证库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3498005/

相关文章:

php - PHP 和 Mysqli 中的登录错误脚本

php - 用户登录无法正常工作未知错误

java - Java中如何使用Jframe登录成功后显示用户信息[登录表单]

javascript - 使用 Google reCaptcha 进行 Passport 身份验证

javascript - nodeJS : git pull, 提交并推送子进程

PHP 登录不起作用

javascript - 如何实现html页面的主题/模板加载

html - 如何向服务器发送流式视频和音频数据?

JavaScript 将作用域传递给另一个函数

javascript - 什么是服务器端 java 脚本?我们也可以在服务器端使用 java 脚本吗?前端开发人员需要了解哪种类型的 java 脚本?