Я ввел анонимный паспорт, чтобы пользователи могли просматривать мое приложение без входа в систему. Однако я получаю сообщение об ошибке:
Я вижу в файл анонимного паспорта: 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);
}