Хапи - как получить доступ к области маршрута из объекта запроса - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть Hapi API, использующий JWT для аутентификации.Функция проверки моего JWT работает как

let validate = (decoded, request, callback) => {
  // decoded.permissions is an array of the users's permissions

Мой маршрут определяется с динамической областью следующим образом:

path: "/{portalId}/somedata",
method: "POST",
config: {
  auth: {
    strategy: "jwt",
    scope: ['user-{params.portalId}']
  }

Я хочу ограничить вызов, чтобы быть разрешенным только массивом полномочий пользователясодержит элемент для 'user-1', но я не знаю, что проверять в моей функции проверки.

Где в запросе я могу найти ограничение области действия маршрута для текущего вызова?

Или, как еще я могу построить эту схему, чтобы работать для того, что мне нужно?

1 Ответ

0 голосов
/ 15 ноября 2018

Welp, я решил это по-другому

Мой маршрут остался прежним, но в функции проверки я создаю массив строк области действия на основе декодированного userId, а затем просто добавляю его в область действия

userPermissions: string[] = buildUserPermissions(userId);
// after they pass any checks
return callback(null, true, {scope: userPermissions, user: user} );
...