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.