Я пытаюсь добавить JWT-аутентификацию в приложение Feathers JS, но мне точно нужно добавить две разные сущности для аутентификации, например: администраторы и клиенты, каждая из которых перенаправляет на другой компонент в Vue JS.
Вот мой default.json, где я добавил эти две сущности.
"strategies": [
"jwt",
"local",
"client"
],
"local": {
"name": "local",
"entity": "user",
"usernameField": "email",
"passwordField": "password",
"service": "users"
},
"client": {
"name": "client",
"entity": "customer",
"usernameField": "email",
"passwordField": "password",
"service": "customers"
},
А вот моя конечная точка аутентификации (authentication.js)
const authentication = require('@feathersjs/authentication');
const jwt = require('@feathersjs/authentication-jwt');
const local = require('@feathersjs/authentication-local');
module.exports = function (app) {
const config = app.get('authentication');
// Set up authentication with the secret
app.configure(authentication(config));
app.configure(local(config.jwt));
app.configure(local(config.local));
app.configure(local(config.client));
app.configure(jwt(config.local));
app.configure(jwt(config.client));
// The `authentication` service is used to create a JWT.
// The before `create` hook registers strategies that can be used
// to create a new valid JWT (e.g. local or oauth2)
app.service('authentication').hooks({
before: {
create: [
authentication.hooks.authenticate(config.strategies)
],
remove: [
authentication.hooks.authenticate('jwt')
]
}
});
};
Когда я пытаюсь войти черезИсполнительный он регистрирует меня правильно, указывая на мою таблицу пользователей, в которой зарегистрирован пользователь, но при попытке клиентской сущности он пытается войти в систему, используя ту же таблицу пользователей, потому что возвращает мне объект пользователя из этой таблицы.