Я хочу использовать лямбда-функцию FusionAuth для заполнения JWT в зависимости от того, в какое приложение входит пользователь, поскольку один и тот же пользователь может входить в разные приложения и иметь несколько ролей или групп в нем. Я не хочу, чтобы JWT заполнял каждую роль, являясь ролевым действием, которое пользователь может выполнить в приложении (в соответствии с моделью NIST RBA C это будут разрешения типа «чтение: внимание» или «удаление: тесты»). ) потому что это могут быть десятки из них (причины сизе), вместо этого я хочу, чтобы JWT был заполнен группами, которые есть у пользователя, которые определяют c приложение. Я попытался назначить свойство role с пустым массивом, но безуспешно. Я знаю, что инструмент по умолчанию не позволяет вам изменять свойство ролей, но есть способ удалить его?.
function populate(jwt, user, registration) {
jwt.group = registration.data.group;
jwt.roles = [];
}
В любом случае токен имеет роли, как я могу их удалить?
{
"aud": "xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx",
"exp": xxxxxxx,
"iat": xxxxxxx,
"iss": "acme.com",
"sub": "xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx",
"authenticationType": "PASSWORD",
"email": "xxxxxxx@mail.com",
"email_verified": true,
"applicationId": "xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx",
"roles": [
"read:attentions",
"write:attentions"
],
"group": "financer"
}