Аутентификатор
Описывает все свойства данного аутентификатора. Данный плагин используется для аутентификации пользователя, предоставляя для этого различные способы, как регистрация/вход при помощи телефона/email/username и пароля, через различные соц. сети, а также беспарольный вход. Помимо регистрации и входа, плагины предоставляют дополнительный функционал, как, например, сброс пароля или верификация аккаунта.
- Тип: object. Наличие дополнительных свойств: Недопустимо.
filter
: Тип: object. Перечесление фильтров данных. Перечесление фильтров, которые будут применятся к входящим данным. Фильтрация производится с применением регулярных выражений. Дает возможность более тонко контролировать процесс аутентификации тех или иных пользователей.regex(".+")
: Тип: string. Дополнительно: Регулярное выражение. Минимальная длина: 1.
Допустим один из вариантов конфига
Конфигурация apple аутентификатора.
- Тип: object. Конфигурация apple аутентификатора. Служит для задания свойств аутентификатора. Обязательны:
type
,config
. Наличие дополнительных свойств: Недопустимо.type
: Константа: apple. Тип аутентификатора. Необходим, чтобы дать Aureole понять, какой из аутентификаторов использовать.config
: Тип: object. Конфигурация аутентификатора. Описывает все свойства данного аутентификатора. Обязательны:secret_key
,public_key
,client_id
,team_id
,key_id
. Наличие дополнительных свойств: Недопустимо.secret_key
: Тип: string. Дополнительно: Ссылка на экземпляр плагина крипто-ключа. Ссылка на приватный ключ. Имя крипто ключа, который должен использоваться в качестве приватного при обращении к провайдеру. Минимальная длина: 1.public_key
: Тип: string. Дополнительно: Ссылка на экземпляр плагина крипто-ключа. Ссылка на публичный ключ. Имя крипто ключа, который должен использоваться в качестве публичного при получении данных от провайдера. Минимальная длина: 1.client_id
: Тип: string. Идентификатор приложения. Идентификатор приложения (Service ID), полученный при создании приложения у провайдера. Минимальная длина: 1.team_id
: Тип: string. Идентификатор команды. Идентификатор команды, полученный при создании приложения у провайдера. Минимальная длина: 1.key_id
: Тип: string. Идентификатор приватного ключа. Идентификатор ключа, который будет использоваться для подписи JWT при обращении к провайдеру. Минимальная длина: 1.scopes
: Тип: array. Значение по-умолчанию: ['email']. Массив дополнительных разрешений. В массиве перечисляются необязательные дополнительные разрешения, которые можно запросить у провайдера. Элементы должны быть уникальными.- Элементы: Тип: string. Минимальная длина: 1.
Пример конфига
authn: - type: "apple" config: secret_key: apple_signin_key public_key: apple_keys client_id: ${APPLE_CLIENT_ID} team_id: ${APPLE_TEAM_ID} key_id: ${APPLE_KEY_ID} scopes: - email - name
1
2
3
4
5
6
7
8
9
10
11
Конфигурация google аутентификатора.
- Тип: object. Конфигурация google аутентификатора. Служит для задания свойств аутентификатора. Обязательны:
type
,config
. Наличие дополнительных свойств: Недопустимо.type
: Константа: google. Тип аутентификатора. Необходим, чтобы дать Aureole понять, какой из аутентификаторов использовать.config
: Тип: object. Конфигурация аутентификатора. Описывает все свойства данного аутентификатора. Обязательны:client_id
,client_secret
. Наличие дополнительных свойств: Недопустимо.client_id
: Тип: string. Идентификатор приложения. Идентификатор приложения, полученный при создании приложения у провайдера. Минимальная длина: 1.client_secret
: Тип: string. Секрет приложения. Секрет приложения, полученный при создании приложения у провайдера. Минимальная длина: 1.scopes
: Тип: array. Значение по-умолчанию: ['email']. Массив дополнительных разрешений. В массиве перечисляются необязательные дополнительные разрешения, которые можно запросить у провайдера. Элементы должны быть уникальными.- Элементы: Тип: string. Минимальная длина: 1.
Пример конфига
authn: - type: "google" config: client_id: ${GOOGLE_CLIENT_ID} client_secret: ${GOOGLE_SECRET} scopes: - https://www.googleapis.com/auth/userinfo.email - https://www.googleapis.com/auth/userinfo.profile
1
2
3
4
5
6
7
8
Конфигурация facebook аутентификатора.
- Тип: object. Конфигурация facebook аутентификатора. Служит для задания свойств аутентификатора. Обязательны:
type
,config
. Наличие дополнительных свойств: Недопустимо.type
: Константа: facebook. Тип аутентификатора. Необходим, чтобы дать Aureole понять, какой из аутентификаторов использовать.config
: Тип: object. Конфигурация аутентификатора. Описывает все свойства данного аутентификатора. Обязательны:client_id
,client_secret
. Наличие дополнительных свойств: Недопустимо.client_id
: Тип: string. Идентификатор приложения. Идентификатор приложения, полученный при создании приложения у провайдера. Минимальная длина: 1.client_secret
: Тип: string. Секрет приложения. Секрет приложения, полученный при создании приложения у провайдера. Минимальная длина: 1.scopes
: Тип: array. Значение по-умолчанию: ['email']. Массив дополнительных разрешений. В массиве перечисляются необязательные дополнительные разрешения, которые можно запросить у провайдера. Элементы должны быть уникальными.- Элементы: Тип: string. Минимальная длина: 1.
fields
: Тип: array. Значение по-умолчанию: ['email']. Массив дополнительных полей. В массиве перечисляются необязательные дополнительные поля, которые можно запросить у провайдера Элементы должны быть уникальными.- Элементы: Тип: string. Минимальная длина: 1.
Пример конфига
authn: - type: "facebook" config: client_id: ${FACEBOOK_CLIENT_ID} client_secret: ${FACEBOOK_SECRET} scopes: - email fields: - email
1
2
3
4
5
6
7
8
9
Конфигурация vk аутентификатора.
- Тип: object. Конфигурация vk аутентификатора. Служит для задания свойств аутентификатора. Обязательны:
type
,config
. Наличие дополнительных свойств: Недопустимо.type
: Константа: vk. Тип аутентификатора. Необходим, чтобы дать Aureole понять, какой из аутентификаторов использовать.config
: Тип: object. Конфигурация аутентификатора. Описывает все свойства данного аутентификатора. Обязательны:client_id
,client_secret
. Наличие дополнительных свойств: Недопустимо.client_id
: Тип: string. Идентификатор приложения. Идентификатор приложения, полученный при создании приложения у провайдера. Минимальная длина: 1.client_secret
: Тип: string. Секрет приложения. Секрет приложения, полученный при создании приложения у провайдера. Минимальная длина: 1.scopes
: Тип: array. Значение по-умолчанию: ['email']. Массив дополнительных разрешений. В массиве перечисляются необязательные дополнительные разрешения, которые можно запросить у провайдера. Элементы должны быть уникальными.- Элементы: Тип: string. Минимальная длина: 1.
fields
: Тип: array. Массив дополнительных полей. В массиве перечисляются необязательные дополнительные поля, которые можно запросить у провайдера Элементы должны быть уникальными.- Элементы: Тип: string. Минимальная длина: 1.
Пример конфига
authn: - type: "vk" config: client_id: ${VK_CLIENT_ID} client_secret: ${VK_SECRET} scopes: - email
1
2
3
4
5
6
7
Конфигурация password based аутентификатора.
- Тип: object. Конфигурация password based аутентификатора. Служит для задания свойств аутентификатора. Обязательны:
type
,config
. Наличие дополнительных свойств: Недопустимо.type
: Константа: password_based. Тип аутентификатора. Необходим, чтобы дать Aureole понять, какой из аутентификаторов использовать.config
: Тип: object. Конфигурация аутентификатора. Описывает все свойства данного аутентификатора. Обязательны:main_hasher
. Наличие дополнительных свойств: Недопустимо.main_hasher
: Тип: object. Хэшер. Конфигурация хэшера, которым плагин будет хэшировать пароли. Наличие дополнительных свойств: Недопустимо.Допустим один из вариантов конфига
- Тип: object. Обязательны:
type
,config
. Наличие дополнительных свойств: Недопустимо.type
: Константа: argon2. Тип хэшера. Необходим, чтобы дать Aureole понять, какой из хэшеров использовать.config
: Тип: object. Конфигурация хэшера. Описывает все свойства данного хэшера. Наличие дополнительных свойств: Недопустимо.kind
: Допускаются следующие значения:argon2i
,argon2id
. Значение по-умолчанию: argon2i. Версия алгоритма. Указывает, какую из версий алгоритма следует использовать при хэшировании.iterations
: Тип: integer. Значение по-умолчанию: 3. Количество итераций. Количество итераций алгоритма по памятию Минимальное значение: 1.parallelism
: Тип: integer. Значение по-умолчанию: 2. Степень параллелизма. Указвает количество потоков, на которое можно распараллелить алгоритм. Минимальное значение: 1.salt_length
: Тип: integer. Значение по-умолчанию: 16. Длина соли. Длина соли, которую будет генерировать Aureole при хэшировании. Минимальное значение: 1.key_length
: Тип: integer. Значение по-умолчанию: 32. Длина ключа. Длина исходного хэша. Минимальное значение: 1.memory
: Тип: integer. Значение по-умолчанию: 32768. Количество памяти. Количествл памяти, которое может использовать алгоритм. Минимальное значение: 1.
- Тип: object. Обязательны:
type
. Наличие дополнительных свойств: Недопустимо.type
: Константа: pbkdf2. Тип хэшера. Необходим, чтобы дать Aureole понять, какой из хэшеров использовать.config
: Тип: object. Конфигурация хэшера. Описывает все свойства данного хэшера. Наличие дополнительных свойств: Недопустимо.func
: Допускаются следующие значения:sha1
,sha224
,sha256
,sha384
,sha512
. Значение по-умолчанию: sha256. Имя хэш-функции. Имя хэш-функции, которая будет использоваться алгоритмом.iterations
: Тип: integer. Значение по-умолчанию: 260000. Количество итераций. Количество итераций алгоритма по памятию Минимальное значение: 1.salt_length
: Тип: integer. Значение по-умолчанию: 22. Длина соли. Длина соли, которую будет генерировать Aureole при хэшировании. Минимальное значение: 1.key_length
: Тип: integer. Значение по-умолчанию: 32. Длина ключа. Длина исходного хэша. Минимальное значение: 1.
- Тип: object. Обязательны:
compat_hashers
: Тип: array. Массив хэшеров Перечисление совместимых хэшеров. Если пароль был зашифрован одним из них, Aureole будет использовать данный хэшер для сравнения паролей. Элементы должны быть уникальными.- Элементы: Тип: object. Хэшер. Конфигурация хэшера, которым плагин будет хэшировать пароли. Наличие дополнительных свойств: Недопустимо.
Допустим один из вариантов конфига
- Тип: object. Обязательны:
type
,config
. Наличие дополнительных свойств: Недопустимо.type
: Константа: argon2. Тип хэшера. Необходим, чтобы дать Aureole понять, какой из хэшеров использовать.config
: Тип: object. Конфигурация хэшера. Описывает все свойства данного хэшера. Наличие дополнительных свойств: Недопустимо.kind
: Допускаются следующие значения:argon2i
,argon2id
. Значение по-умолчанию: argon2i. Версия алгоритма. Указывает, какую из версий алгоритма следует использовать при хэшировании.iterations
: Тип: integer. Значение по-умолчанию: 3. Количество итераций. Количество итераций алгоритма по памятию Минимальное значение: 1.parallelism
: Тип: integer. Значение по-умолчанию: 2. Степень параллелизма. Указвает количество потоков, на которое можно распараллелить алгоритм. Минимальное значение: 1.salt_length
: Тип: integer. Значение по-умолчанию: 16. Длина соли. Длина соли, которую будет генерировать Aureole при хэшировании. Минимальное значение: 1.key_length
: Тип: integer. Значение по-умолчанию: 32. Длина ключа. Длина исходного хэша. Минимальное значение: 1.memory
: Тип: integer. Значение по-умолчанию: 32768. Количество памяти. Количествл памяти, которое может использовать алгоритм. Минимальное значение: 1.
- Тип: object. Обязательны:
type
. Наличие дополнительных свойств: Недопустимо.type
: Константа: pbkdf2. Тип хэшера. Необходим, чтобы дать Aureole понять, какой из хэшеров использовать.config
: Тип: object. Конфигурация хэшера. Описывает все свойства данного хэшера. Наличие дополнительных свойств: Недопустимо.func
: Допускаются следующие значения:sha1
,sha224
,sha256
,sha384
,sha512
. Значение по-умолчанию: sha256. Имя хэш-функции. Имя хэш-функции, которая будет использоваться алгоритмом.iterations
: Тип: integer. Значение по-умолчанию: 260000. Количество итераций. Количество итераций алгоритма по памятию Минимальное значение: 1.salt_length
: Тип: integer. Значение по-умолчанию: 22. Длина соли. Длина соли, которую будет генерировать Aureole при хэшировании. Минимальное значение: 1.key_length
: Тип: integer. Значение по-умолчанию: 32. Длина ключа. Длина исходного хэша. Минимальное значение: 1.
- Тип: object. Обязательны:
- Элементы: Тип: object. Хэшер. Конфигурация хэшера, которым плагин будет хэшировать пароли. Наличие дополнительных свойств: Недопустимо.
register
: Тип: object. Конфигурация регистрации. Описывает поля, которые нужны Aureole для регистрации пользователей. Наличие дополнительных свойств: Недопустимо.login_after
: Тип: boolean. Значение по-умолчанию: False. Флаг логина после регистрации. Определяет, необходимо ли осуществлять автоматический логин пользователя после его регистрации.verify_after
: Тип: boolean. Значение по-умолчанию: False. Флаг верификации акаунта после регистрации. Определяет, необходимо ли осуществлять автоматическую верификацию аккаунта после его регистрации.
password_reset
: Тип: object. Конфигурация сброса пароля. Описывает поля, которые нужны Aureole для сброса пользовательского пароля. Обязательны:sender
,template
. Наличие дополнительных свойств: Недопустимо.sender
: Тип: string. Дополнительно: Ссылка на экземпляр плагина отправителя. Ссылка на отправитель. Имя отправителя, который будет использоваться для доставки писем с ссылкой на сброс пароля. Минимальная длина: 1.template
: Тип: string. Дополнительно: Ссылка на один из шаблонов. Ссылка на шаблон. Имя шаблона, на основании которого будет формироваться письмо, доставляемое пользователю. Минимальная длина: 1.exp
: Тип: integer. Дополнительно: Единицы измерения: s. Значение по-умолчанию: 3600. Время жизни токена. Время, на протяжении которого токен будет валидным. Отсчет начинается с момента формирования токена. Минимальное значение: 0.
verification
: Тип: object. Конфигурация верификации аккаунтов. Описывает поля, которые нужны Aureole для верификации пользовательских аккаунтов. Обязательны:sender
,template
. Наличие дополнительных свойств: Недопустимо.sender
: Тип: string. Дополнительно: Ссылка на экземпляр плагина отправителя. Ссылка на отправитель. Имя отправителя, который будет использоваться для доставки писем с ссылкой для верификации аккаунта. Минимальная длина: 1.template
: Тип: string. Дополнительно: Ссылка на один из шаблонов. Ссылка на шаблон. Имя шаблона, на основании которого будет формироваться письмо, доставляемое пользователю. Минимальная длина: 1.exp
: Тип: integer. Дополнительно: Единицы измерения: s. Значение по-умолчанию: 3600. Время жизни токена. Время, на протяжении которого токен будет валидным. Отсчет начинается с момента формирования токена. Минимальное значение: 0.
Пример конфига
authN: - type: "password_based" config: main_hasher: argon2 password_reset: sender: email template: reset exp: 3600 verification: sender: email template: email_verification exp: 3600
1
2
3
4
5
6
7
8
9
10
11
12
Конфигурация email аутентификатора.
- Тип: object. Конфигурация email аутентификатора. Служит для задания свойств аутентификатора. Обязательны:
type
,config
. Наличие дополнительных свойств: Недопустимо.type
: Константа: email. Тип аутентификатора. Необходим, чтобы дать Aureole понять, какой из аутентификаторов использовать.config
: Тип: object. Конфигурация аутентификатора. Описывает все свойства данного аутентификатора. Обязательны:sender
,template
. Наличие дополнительных свойств: Недопустимо.sender
: Тип: string. Дополнительно: Ссылка на экземпляр плагина отправителя. Ссылка на отправитель. Имя отправителя, который будет использоваться для доставки писем с магической ссылкой. Минимальная длина: 1.template
: Тип: string. Дополнительно: Ссылка на один из шаблонов. Ссылка на шаблон. Имя шаблона, на основании которого будет формироваться письмо, доставляемое пользователю. Минимальная длина: 1.exp
: Тип: integer. Дополнительно: Единицы измерения: s. Значение по-умолчанию: 3600. Время жизни токена. Время, на протяжении которого токен будет валидным. Отсчет начинается с момента формирования токена. Минимальное значение: 0.
Пример конфига
authN: - type: "email" config: sender: email template: magic_link exp: 300
1
2
3
4
5
6
Конфигурация phone аутентификатора.
- Тип: object. Конфигурация phone аутентификатора. Служит для задания свойств аутентификатора. Обязательны:
type
,config
. Наличие дополнительных свойств: Недопустимо.type
: Константа: phone. Тип аутентификатора. Необходим, чтобы дать Aureole понять, какой из аутентификаторов использовать.config
: Тип: object. Конфигурация аутентификатора. Описывает все свойства данного аутентификатора. Обязательны:sender
,template
. Наличие дополнительных свойств: Недопустимо.sender
: Тип: string. Дополнительно: Ссылка на экземпляр плагина отправителя. Ссылка на отправитель. Имя отправителя, который будет использоваться для доставки сообщений с одноразовым паролем. Минимальная длина: 1.template
: Тип: string. Дополнительно: Ссылка на один из шаблонов. Ссылка на шаблон. Имя шаблона, на основании которого будет формироваться сообщение, доставляемое пользователю. Минимальная длина: 1.max_attempts
: Тип: integer. Значение по-умолчанию: 3. Максимальное количество попыток. Максимальное количество попыток ввода одноразового пароля. При превышении количества попыток пароль становится невалидным. Минимальное значение: 0.otp
: Тип: object. Конфигурация одноразового пароля. Позволяет настроить уникальные одноразовые пароли, которые будут использоваться для входа в аккаунт. Наличие дополнительных свойств: Недопустимо.length
: Тип: integer. Значение по-умолчанию: 6. Длина пароля. Aureole будет формировать пароль указанной длины. Минимальное значение: 1.alphabet
: Значение по-умолчанию: num.Допустим любой из вариантов конфига
- Допускаются следующие значения:
num
,alpha
,alphanum
. Заготовленный алфавит для генерации кодов. Константные наборы символов, которые будут использоваться для генерации одноразовых паролей. num - цифры от 0 до 9, alpha - строчные и заглавные буквы английского алфавита, alphanum - и цифры и буквы алфавита. - Тип: string. Кастомный алфавит для генерации кодов. Любая строка символов, которая будет использоваться для генерации кодов. Минимальная длина: 1.
- Допускаются следующие значения:
prefix
: Тип: string. Префикс одноразового пароля. При формировании пароля Aureole будет добавлять указанный префикс ко всем паролям.postfix
: Тип: string. Постфикс одноразового пароля. При формировании пароля Aureole будет добавлять указанный постфикс ко всем паролям.exp
: Тип: integer. Дополнительно: Единицы измерения: s. Значение по-умолчанию: 300. Время жизни пароля. Время, на протяжении которого пароль будет валидным. Отсчет начинается с момента формирования пароля. Минимальное значение: 0.
Пример конфига
authn: - type: "phone" config: hasher: django sender: twilio template: phone_otp max_attempts: 3 otp: length: 6 alphabet: num prefix: A- postfix: -B exp: 300
1
2
3
4
5
6
7
8
9
10
11
12
13