Прежде всего, я хотел бы упомянуть, что я новичок в программировании, так что извините за, вероятно, глупый вопрос.
Итак, я разрабатываю приложение с использованием FeatherJS, и в своем приложении я хотел бы использовать разрешения, чтобы гарантировать, что определенные пользователи ограничены в действиях, которые они могут выполнять, то есть только администратору разрешено создавать или обновлять пользователей.
Для этого я установил перо-разрешение с помощью NPM, и я прочитал документацию, но я застрял, пытаясь проверить, действительно ли работает эта функциональность. Вот моя установка:
const checkPermissions = require('feathers-permissions');
module.exports = {
before: {
all: [],
find: [ authenticate('jwt') ],
get: [ authenticate('jwt') ],
create: [ checkPermissions({
roles: [ 'admin' ]
}), authenticate('jwt') ],
update: [ authenticate('jwt') ],
patch: [ authenticate('jwt') ],
remove: [ authenticate('jwt') ]
},
Итак, теперь, когда я пытаюсь создать пользователя, отправив запрос POST на конечную точку пользователя моего приложения (http: // localhost: 3030 / users). Ниже вы можете найти текст POST-запроса, который я делаю.
{
"email": "[email protected]",
"password": "somerandompassword",
"permission": ["user:*"]
}
Я всегда получаю такое сообщение:
{
"name": "Forbidden",
"message": "You do not have the correct permissions (invalid permission entity).",
"code": 403,
"className": "forbidden",
"errors": {}
}
Перед отправкой запроса POST я аутентифицирую себя и получаю токен-носитель, который включаю в свое сообщение POST, чтобы идентифицировать себя. Конечно, я также удостоверился, что у меня есть необходимые права доступа для создания пользователя.
Может ли кто-нибудь из вас помочь мне в этом? Я что-то не так делаю в конфигурации бэкэнда, т.е. забыл добавить код в сервис «Пользователи»? Или мне следует передать некоторые дополнительные параметры в моем запросе POST?
Любая помощь будет принята с благодарностью!