Mediawiki AuthManager и SessionManager SSO - PullRequest
0 голосов
/ 31 мая 2018

В настоящее время я использую 1.24.x и использую класс LoginForm и FauxRequest для входа в систему удаленного доступа (и создания его локально, если он не существует), но эта функция удалена в 1.27.x, поэтому я вынужден писать сновый стандарт с использованием AuthManager и SessionMamager.Я также буду обновляться до 1.31, как только выйдет его версия LTS.Во время чтения AuthManager и SessionManager я просто не могу понять, как я могу аутентифицировать внешних пользователей.Я также посмотрел на расширение pluggableSSO, которое использует PluggableAuth, но не может его понять.Может кто-нибудь указать мне простой пример того, как я могу аутентифицировать пользователя, если у меня есть идентификатор пользователя и имя пользователя?и если этого пользователя не существует, как я могу создать его и аутентифицировать его локально?

Спасибо

1 Ответ

0 голосов
/ 12 июня 2018

Если кто-то вроде меня, кто совсем новичок в MediaWiki, есть решение для единого входа, называемое PluggableAuth и Auth_Remoteuser.Я выбрал PluggableAuth, который реализован на основе AuthManager, и его очень легко интегрировать.Все, что нам нужно, это определить глобальную переменную $ PluggableAuth_Class и реализовать в ней следующие методы:

public function authenticate( &$id, &$username, &$realname, &$email, &$errorMessage )
public function saveExtraAttributes( $id )
public function deauthenticate( User &$user )

Более подробную информацию можно найти по адресу: PluggableAuth

...