Приложение My Feathers должно иметь две стратегии аутентификации JWT. Для услуги users
мне нужно иметь, например, all: [authenticate('carrier')]
вместо all: [authenticate('jwt')]
в моих хуках. Для остальных служб необходимо authenticate['jwt']
.
. Для этого я зарегистрировал пользовательскую стратегию аутентификации. js под названием CarrierStrategy
следующим образом:
module.exports = function auth(app) {
const authentication = new AuthenticationService(app)
// register all of the strategies with authentication service
authentication.register('carrier', new CarrierStrategy())
authentication.register('jwt', new JWTStrategy())
// register the authentication service with your app
app.use('/api/authentication', authentication)
}
В config / default. json я также зарегистрировал эту стратегию следующим образом:
authStrategies: ["carrier", "jwt"]
CarrierStrategy должна немного по-другому обрабатывать входящий заголовок авторизации с некоторыми пользовательскими логами c.
Когда я использую Postman для отправки запросов на эту услугу, то есть localhost:3030/users
с токеном JWT в заголовке, я получаю следующую ошибку:
Invalid authentication information (strategy not allowed in authStrategies)'
Пожалуйста, руководство мне, если это правильный способ добавить пользовательскую стратегию в приложение.