小编Bud*_*ana的帖子

“错误:非法参数:字符串,未定义”并在节点JS中停止服务器

我正在尝试在节点JS中构建日志记录应用程序。在这里密码验证应用程序无法正常工作。当我输入用户名和密码时,会发生以下错误并停止服务器。

this is the error.
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

这是验证部分的代码

passport.use(new LocalStrategy(
function(username, password, done) {
    User.getUserByUsername(username, function(err, user){
       if(err) throw err;
       if (!user) {
           return done(null, false, {message: 'Unknown user'});
       } 

       User.comparePassword(password, user.password, function(err, isMatch){
           if(err) throw err;
           if (isMatch) {
               return done(null, user);
           } else {
               return done(null, false, {message: 'Invalid password'});
           }
       });
    });
}));
Run Code Online (Sandbox Code Playgroud)

此代码适用于未知用户。但不适用于比较用户名和密码。我在这里看不到任何错误。我需要帮助解决此问题。

javascript authentication node.js

5
推荐指数
1
解决办法
8531
查看次数

使用 Google 对用户进行身份验证时如何通过 JWT 令牌获取用户角色

我正在尝试通过联盟使用 Google 作为我的应用程序的 IDP。

对于用户身份验证部分,我使用 openID 连接流程。

以下步骤已经完成。

  • 创建了一个 Google 应用程序
  • 获取客户端 ID 和客户端密钥
  • 在我的应用程序中配置了 Google 联合(使用 google 登录)
  • 身份验证流程正在成功运行
  • 令牌已成功检索

问题是我想将用户角色添加到已在 google 中注册的用户,并获取用户角色作为从 google 检索的令牌中的声明。

基本上我想根据用户角色向应用程序添加基于角色的身份验证。

那么如何创建用户角色并将其分配给 Google 用户,以及如何将它们作为 JWT 令牌中的声明来获取?

google-apps google-authentication federated-identity jwt openid-connect

5
推荐指数
0
解决办法
199
查看次数