Contest.xml:oauth rule
Навигация: Главная страница/Система 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.