Node Passport-azure-ad error: "неизвестная стратегия аутентификации" oauth-bearer "" - PullRequest
0 голосов
/ 28 августа 2018

Я, должно быть, упускаю что-то очень очевидное в этом.

Я пытался доверять / следовать официальным документам по этому документу, но я замечаю, что на самом деле я не использую всю «bearerStrategy», которую я определяю где-либо. Если я попытаюсь заменить oauth-bearer на bearerStrategy, я получу точно такой же результат.

Установка:

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);
    });
  }
);

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Не хватало этих двух:

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

Добавил их в нужное место и теперь все отлично работает.

0 голосов
/ 28 августа 2018

Возможно, вам не хватает следующего шага настройки:

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