Ошибка: this.pass () не является анонимной функцией passport - PullRequest
0 голосов
/ 02 мая 2020

Я ввел анонимный паспорт, чтобы пользователи могли просматривать мое приложение без входа в систему. Однако я получаю сообщение об ошибке:

enter image description here

Я вижу в файл анонимного паспорта: this.pass () называется

Strategy.prototype.authenticate = function() {
  this.pass();
};

Но нет никакого объявления функции прохода.

Моя реализация стратегии анонимного паспорта следует за типом обратной связи, типичной для passtport Интерфейс:

import {AuthErrorKeys} from '../error-keys.enum';
import {RevokedTokenRepository} from '../../../repositories';
import {repository} from '@loopback/repository';
import {Strategy} from 'passport-anonymous';
import {HttpErrors} from '@loopback/rest';
import {StrategyAdapter} from '@loopback/authentication-passport';
import {AuthenticationStrategy} from '@loopback/authentication';
import {Provider} from '@loopback/context';
import {Strategy as StrategyKey} from '../';

export class PassportAnonAuthProvider
  implements Provider<AuthenticationStrategy> {
  constructor() {}
  value(): AuthenticationStrategy {
    const anonymousStrategy = new Strategy();
    return this.convertToAuthStrategy(anonymousStrategy);
  }

  convertToAuthStrategy(anonymous: Strategy): AuthenticationStrategy {
    return new StrategyAdapter(anonymous, StrategyKey.ANONYMOUS);
  }
...