Авторизатор


Описывает все свойства данного авторизатора. Данный плагин используется для авторизации пользователя и выдачи ему некого токена доступа, будь то jwt или сессионного токена. Плагин является встраиваемым, что позволяет комбинировать различные способы аутентификации и авторизации.

  • Тип: object. Наличие дополнительных свойств: Недопустимо.

    Допустим один из вариантов конфига

    Конфигурация jwt авторизатора.

    • Тип: object. Конфигурация jwt авторизатора. Служит для задания свойств авторизатора. Обязательны: type, config. Наличие дополнительных свойств: Недопустимо.
      • type: Константа: jwt. Тип авторизатора. Необходим, чтобы дать Aureole понять, какой из авторизаторов использовать.
      • config: Тип: object. Конфигурация авторизатора. Описывает все свойства данного авторизатора. Обязательны: sign_key. Наличие дополнительных свойств: Недопустимо.
        • iss: Тип: string. Значение по-умолчанию: Aureole Server. Идентификатор стороны, генерирующей токен. Чувствительная к регистру строка или URI, которая является уникальным идентификатором стороны, генерирующей токен. Минимальная длина: 1.
        • sub: Тип: boolean. Значение по-умолчанию: False. Флаг наличия идентификатора субъекта. Определяет, необходимо ли Aureole добавить в токен уникальных идентификатор стороны, о которой содержится информация в данной токене.
        • aud: Тип: array. Значение по-умолчанию: []. Массив получателей токена. Массив чувствительных к регистру строк или URI, являющийся списком получателей данного токена. Элементы должны быть уникальными.
          • Элементы: Тип: string.
        • nbf: Тип: integer. Значение по-умолчанию: 0. Количество времени, после котрого токена станет валидным. Количество времени, после котрого токена станет валидным после его создания. Минимальное значение: 0.
        • iat: Тип: boolean. Значение по-умолчанию: False. Флаг наличия времени создания токена. Определяет, необходимо ли Aureole добавить в токен время его создания.
        • access_bearer: Допускаются следующие значения: cookie, header, both. Значение по-умолчанию: header. Имя носителя токена access-токена. Определяет, каким образом будет доставляться access-токен.
        • refresh_bearer: Допускаются следующие значения: cookie, body, both. Значение по-умолчанию: cookie. Имя носителя токена refresh-токена. Определяет, каким образом будет доставляться refresh-токен.
        • sign_key: Тип: string. Дополнительно: Ссылка на экземпляр плагина крипто-ключа. Ссылка на приватный крипто-ключ. Имя крипто-ключа, который должен использоваться для подписи токенов. Минимальная длина: 1.
        • verify_keys: Тип: array. Массив ссылок на публичные крипто-ключи. Имена крипто-ключей, которые могут быть использованы для проверки подписи токена. Минимальное кол-во элементов: 1. Элементы должны быть уникальными.
          • Элементы: Тип: string. Дополнительно: Ссылка на экземпляр плагина крипто-ключа. Минимальная длина: 1.
        • access_exp: Тип: integer. Дополнительно: Единицы измерения: s. Значение по-умолчанию: 900. Время жизни access-токена. Время, на протяжении которого access-токен будет валидным. Отсчет начинается с момента формирования токена. Минимальное значение: 0.
        • refresh_exp: Тип: integer. Дополнительно: Единицы измерения: s. Значение по-умолчанию: 7890000. Время жизни refresh-токена. Время, на протяжении которого refresh-токен будет валидным. Отсчет начинается с момента формирования токена. Минимальное значение: 0.
        • refresh_url: Тип: string. Дополнительно: Относительный URL-адрес. Значение по-умолчанию: /refresh. Маршрут обновления токена. Определяет маршрут, по которому будет производится обновления истекших токенов. Минимальная длина: 1.
        • payload: Тип: string. Дополнительно: Путь к файлу, Расширение файла: json. Путь к файлу полезной нагрузки. Определяет, какой файл использовать в качестве шаблона для формирования полезной нагрузки токена. Минимальная длина: 1.
        • native_queries: Тип: string. Дополнительно: Путь к файлу, Расширение файла: yaml,yml. Путь к файлу запросов. Определяет, какой файл использовать в качестве перечисления дополнительных запросов к БД.

      Пример конфига

      authZ:
        - type: "jwt"
          config:
            jti: "0"
            sign_key: jwk_file
            verify_keys: [ jwk_file ]
            payload: lab/templates/jwt_payload.json
      
      1
      2
      3
      4
      5
      6
      7
Contributors: Semen Asaevich, asaevich