Difference between revisions of "Contest.xml:oauth rule"
(Created page with "Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/co...") |
(...) |
||
Line 1: | Line 1: | ||
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Конфигурационные файлы]]/[[contest.xml]]/<tt>[[contest.xml:oauth_rule|oauth_rule]]</tt> | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Конфигурационные файлы]]/[[contest.xml]]/<tt>[[contest.xml:oauth_rule|oauth_rule]]</tt> | ||
+ | |||
+ | {| | ||
+ | | '''Имя элемента''': || <code>'''oauth_rule'''</code> || | ||
+ | |- | ||
+ | | '''Содержится в:''' || <code>[[contest.xml:oauth_rules|oauth_rules]]</code> || | ||
+ | |- | ||
+ | | '''Может содержать:''' || нет || | ||
+ | |- | ||
+ | | '''Атрибуты:''' || <code>domain</code>, <code>allow</code>, <code>deny</code>, <code>strip_domain</code>, <code>disable_emain_check</code> || | ||
+ | |- | ||
+ | | '''Тип содержимого:''' || нет || | ||
+ | |- | ||
+ | |'''Может отсутствовать:''' || ''да'' || | ||
+ | |- | ||
+ | |'''Может повторяться:''' || ''нет'' || | ||
+ | |} | ||
+ | |||
+ | '''Описание.''' | ||
+ | Данные элемент задает правила, ограничивающие вход в турнир | ||
+ | с помощью аутентификации по OAUTH2. | ||
+ | |||
+ | Предполагается, что oauth-идентификатор пользователя либо является | ||
+ | адресом его электронной почты, либо похож на адрес, то есть имеет | ||
+ | вид <code>USER@DOMAIN</code>. | ||
+ | |||
+ | Последовательность правил, задаваемая элементами | ||
+ | <code>oauth_rule</code>, проверяется последовательно. | ||
+ | Если правило не подходит, происходит переход ко следующему правилу. | ||
+ | Если правило подходит, выполняются действия, заданные в этом правиле, | ||
+ | и просмотр правил заканчивается. Если ни одно правило не подходит, | ||
+ | считается, что данному пользователю вход разрешен, | ||
+ | и oauth-идентификатор пользователя является его логином в ejudge. | ||
+ | |||
+ | Атрибут <code>domain</code> определяет домен (часть <code>DOMAIN</code> | ||
+ | в oauth-идентификаторе пользователя), для которого применимо данное правило. | ||
+ | Если атрибут пуст, правило применимо к любому домену. | ||
+ | |||
+ | Булевские атрибуты <code>allow</code> и <code>deny</code> позволяют | ||
+ | задать действие, которое выполняется, если правило | ||
+ | применимо: в случае <code>allow</code> разрешается вход в данный | ||
+ | турнир, а в случае <code>deny</code> — запрещается. | ||
+ | |||
+ | Булевский атрибут <code>strip_domain</code> позволяет задать, | ||
+ | что логин в ejudge — это только часть <code>USER</code> | ||
+ | oauth-идентификатора пользователя, то есть логин в ejudge | ||
+ | получается отбрасываеним домена. | ||
+ | |||
+ | Булевский атрибут <code>disable_emain_check</code> | ||
+ | отменяет проверку на то, что адрес электронной почты | ||
+ | у пользователя совпадает с его логином. Атрибут действует | ||
+ | только в случае, когда не установлен атрибут <code>strip_domain</code>. | ||
+ | |||
+ | Пример конфигурации входа по oauth: | ||
+ | |||
+ | <oauth_rules> | ||
+ | <oauth_rule domain="school.ru" allow="yes" strip_domain="yes" /> | ||
+ | <oauth_rule domain="" deny="yes" /> | ||
+ | </oauth_rules> | ||
+ | |||
+ | Эти правила разрешают вход в турнир для OAUTH2 пользователей | ||
+ | вида <code>user@company.com</code>, причем логин в ejudge | ||
+ | этих пользователей — просто <code>user</code>. | ||
+ | Для прочих пользователей вход запрещен. | ||
+ | |||
+ | [[Аутентификация с помощью OAUTH2]] | ||
+ | |||
+ | Поддерживается с версии [[изменения в версии 3.9.0|3.9.0]]. |
Latest revision as of 20:29, 23 December 2021
Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/contest.xml/oauth_rule
Имя элемента: | oauth_rule |
|
Содержится в: | oauth_rules |
|
Может содержать: | нет | |
Атрибуты: | domain , allow , deny , strip_domain , disable_emain_check |
|
Тип содержимого: | нет | |
Может отсутствовать: | да | |
Может повторяться: | нет |
Описание. Данные элемент задает правила, ограничивающие вход в турнир с помощью аутентификации по OAUTH2.
Предполагается, что oauth-идентификатор пользователя либо является
адресом его электронной почты, либо похож на адрес, то есть имеет
вид USER@DOMAIN
.
Последовательность правил, задаваемая элементами
oauth_rule
, проверяется последовательно.
Если правило не подходит, происходит переход ко следующему правилу.
Если правило подходит, выполняются действия, заданные в этом правиле,
и просмотр правил заканчивается. Если ни одно правило не подходит,
считается, что данному пользователю вход разрешен,
и oauth-идентификатор пользователя является его логином в ejudge.
Атрибут domain
определяет домен (часть DOMAIN
в oauth-идентификаторе пользователя), для которого применимо данное правило.
Если атрибут пуст, правило применимо к любому домену.
Булевские атрибуты allow
и deny
позволяют
задать действие, которое выполняется, если правило
применимо: в случае allow
разрешается вход в данный
турнир, а в случае deny
— запрещается.
Булевский атрибут strip_domain
позволяет задать,
что логин в ejudge — это только часть USER
oauth-идентификатора пользователя, то есть логин в ejudge
получается отбрасываеним домена.
Булевский атрибут disable_emain_check
отменяет проверку на то, что адрес электронной почты
у пользователя совпадает с его логином. Атрибут действует
только в случае, когда не установлен атрибут strip_domain
.
Пример конфигурации входа по oauth:
<oauth_rules> <oauth_rule domain="school.ru" allow="yes" strip_domain="yes" /> <oauth_rule domain="" deny="yes" /> </oauth_rules>
Эти правила разрешают вход в турнир для OAUTH2 пользователей
вида user@company.com
, причем логин в ejudge
этих пользователей — просто user
.
Для прочих пользователей вход запрещен.
Аутентификация с помощью OAUTH2
Поддерживается с версии 3.9.0.