У меня есть несколько ролей в приложении.
1) Users
2) Merchants
3) Admin
Каждая роль имеет свой секретный ключ.
1) keysUser
2) keysMerchant
3) keysAdmin
Я храню ключи в файле конфигурации
...
keysUser: {
secret: '/...=',
expires: '2 days'
},
keysMerchant: {
secret: '/..=',
expires: '2 days'
},
keysAdmin: {
secret: '/...=',
expires: '2 days'
},
...
Если продукт может добавить три роли, то как расшифровать токен, если, например, пользователь добавил илипродавец.
router.post('/add', (req, res) => {
try {
jwt.verify(
req.headers.token,
config.'{keysAdmin?, keysMerchant?, keysAdmin? How to write a condition for three roles}'.secret,
(err, decoded) => {
if (err) {
return res.status(401).json({
name: "TokenExpiredError",
message: "jwt expired"
});
}
....
Как сделать, чтобы токен (продавец, пользователь, администратор) пришел и расшифровал?
Как определить, что все три роли могут добавить продукт и толькоадминистрация и продавец могли его удалить?