【问题标题】:Node Passport-azure-ad error: "unknown authentication strategy "oauth-bearer""节点 Passport-azure-ad 错误:“未知身份验证策略“oauth-bearer””
【发布时间】:2018-08-28 23:53:20
【问题描述】:

我一定遗漏了一些非常明显的东西。

我一直在尝试信任/遵循有关此文档的官方文档,但我注意到我实际上并没有使用我在任何地方定义的整个“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);
    });
  }
);

【问题讨论】:

    标签: javascript node.js azure-active-directory passport.js passport-azure-ad


    【解决方案1】:

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

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

    【讨论】:

    • 在 github repo 上找到了一些示例项目——设法找出我丢失/忘记了哪些部分!这非常接近!如果您只想将 initalize 部分添加到您的答案中,我会将其标记为答案,以便将来搜索的人可以找到它。我不想将自己的答案标记为解决方案。
    • 我更新了我的答案 :) --- 实际上回答你自己的问题是可以的,尽管有些人对此反应过度。哈,我最受关注的问题/答案之一是。 stackoverflow.com/questions/44681065/… --- 但有一次我得到了 -10 票,所以 YMMV
    【解决方案2】:

    缺少这两个:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-02
      • 2017-05-25
      • 2016-03-11
      • 2022-01-10
      • 2021-06-01
      • 2015-04-03
      • 2022-01-11
      • 2014-02-22
      相关资源
      最近更新 更多