На GitHub опубликован код на PHP как пример использования API автологина в ELiS.
Пример показывает, как можно разрешить пользователям самостоятельно регистрироваться из сети организации.
Для использования примера на практике надо иметь сервер с работающим PHP, получить секретный ключ (пароль) для вашей организации и её идентификатор от владельца библиотеки ELiS и изменить немного параметров в файле conf.php.
Код открыт. Можно менять под себя.
Качать код здесь: https://github.com/borovinskiy/ELiSUserRegister
Как это работает[править]
В ELiS есть API для автоматического создания учетной записи по секретному ключу, выдаваемому организации. Пользователь создается переходя по специальной ссылке, подписанной секретным ключом организации. Созданный пользователь привязывается к организации, чьим ключом подписана ссылка для перехода.
Регистрация[править]
- Изначально пользователь не имеет аккаунта в ELiS.
- Он вводит свой e-mail, на который хочет зарегистрироваться и желаемый логин.
- Организация подписывает это желание зарегистрироваться своим секретным ключём и генерирует ссылку для входа.
- Ссылка доставляется пользователю, в данном примере на указанный почтовый ящик.
- Пользователь переходит по ссылке и сервер ELiS проверяет подпись.
- ELiS понимает, что надо создать пользователя, ассоциированного с организацией.
- Ищется пользователь с таким же e-mail, если он не существует, то создается.
- Проверяется логин, если логин занят, то логин просто генерируется.
- Если пользователь с e-mail уже существует, то он либо привязан к этой же организации, либо к другой.
- Если привязан к этой же, то пользователь логинется под существующим аккаунтом.
- Если привязан к другой организации, попытка входа завершается ошибкой. В принципе, такое в рамках работы одной организации не должно возникать.
- Ищется пользователь с таким же e-mail, если он не существует, то создается.