繁体   English   中英

节点Passport-azure-ad错误:“未知身份验证策略” oauth-bearer””

[英]Node Passport-azure-ad error: “unknown authentication strategy ”oauth-bearer“”

我必须在这一点上遗漏一些非常明显的东西。

我一直在尝试信任/关注这一文档的官方文档,但是我注意到我实际上并没有使用我在任何地方定义的整个“ bearerStrategy”。 如果我尝试用bearerStrategy换掉oauth-bearer,我会得到完全相同的结果。

设定:

const passport = require('passport');
const BearerStrategy = require('passport-azure-ad').BearerStrategy

index.js中的端点:

app.use("/andon", passport.authenticate('oauth-bearer', { session: false }), andon);

来自文档文件的配置:

    let options = {
  identityMetadata: appconfig.get("creds.identityMetadata"),
  clientID: appconfig.get("creds.clientID"),
  passReqToCallback: appconfig.get("creds.passReqToCallback")
}

let bearerStrategy = new BearerStrategy(options,
  function(token, done) {
    log.info('verifying the user');
    log.info(token, 'was the token retreived');
    findById(token.oid, function(err, user) {
      if (err) {
        return done(err);
      }
      if (!user) {
        // "Auto-registration"
        log.info('User was added automatically as they were new. Their oid is: ', token.oid);
        users.push(token);
        owner = token.oid;
        return done(null, token);
      }
      owner = token.oid;
      return done(null, user, token);
    });
  }
);

您可能缺少以下配置步骤:

var passport = require('passport')
app.use(passport.initialize());
var BearerStrategy = require('passport-azure-ad').BearerStrategy
var bearerStrategy = new BearerStrategy (...)
passport.use(bearerStrategy);

缺少这两个:

app.use(passport.initialize());
passport.use(bearerStrategy)

将它们添加到正确的位置,现在一切正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM