У нас есть приложение VueJS, которое использует msal
(AzureAD) для аутентификации пользователей. Во время аутентификации мы обращаемся к нашему бэкэнду, чтобы извлечь дополнительные пользовательские данные, которые доступны только в нашей базе данных. Затем мы хотели бы включить эти данные в токен AzureAD Bearer, чтобы мы могли использовать JWT для их декодирования и понять, следует ли разрешить вошедшему в систему пользователю перемещаться / использовать определенные части приложения, т.е. есть пользователи, которые даже вошли в систему. все равно не следует использовать некоторые функции, например, HR должен видеть все, но пользователь, не входящий в группу HR, не должен.
Примером декодирования будет следующий, который вернет полномочия вошедшего в систему пользователя однако на данный момент req.headers.authorization
не включает psref
, и мы хотели бы как-то добавить это.
self.GetAuthority = async (req, h) => {
const mfjobs = ...
// const accessor = self.DecodeToken(req.headers.authorization).payload.psref
const accessor = self.DecodeToken(req.headers.authorization)
console.log(accessor)
const sql = ''
const [data] = await mfjobs.query(sql, accessor)
const Authority = []
data.forEach(function (auth) {
Authority.push(auth.AuthKey)
})
return Authority
}
Теперь вопрос заключается в том, как можно расширить токен AzureAD Bearer данными из наша база данных? Любая помощь будет высоко оценена.