forked from GNUsocial/gnu-social
Pass username and nickname to autoregister so auth plugins can set the nickname correct when creating a new user.
Continues fixing what Eric Helgeson pointed out in 01eb4e8f00
This commit is contained in:
parent
01eb4e8f00
commit
61d4709eb8
@ -69,13 +69,17 @@ abstract class AuthenticationPlugin extends Plugin
|
||||
/**
|
||||
* Automatically register a user when they attempt to login with valid credentials.
|
||||
* User::register($data) is a very useful method for this implementation
|
||||
* @param username
|
||||
* @param username username (that is used to login and find the user in the authentication provider) of the user to be registered
|
||||
* @param nickname nickname of the user in the SN system. If nickname is null, then set nickname = username
|
||||
* @return mixed instance of User, or false (if user couldn't be created)
|
||||
*/
|
||||
function autoRegister($username)
|
||||
function autoRegister($username, $nickname = null)
|
||||
{
|
||||
if(is_null($nickname)){
|
||||
$nickname = $username;
|
||||
}
|
||||
$registration_data = array();
|
||||
$registration_data['nickname'] = $username ;
|
||||
$registration_data['nickname'] = $nickname ;
|
||||
return User::register($registration_data);
|
||||
}
|
||||
|
||||
@ -132,7 +136,7 @@ abstract class AuthenticationPlugin extends Plugin
|
||||
//someone already exists with the suggested nickname
|
||||
//not much else we can do
|
||||
}else{
|
||||
$user = $this->autoRegister($nickname);
|
||||
$user = $this->autoRegister($nickname, $suggested_nickname);
|
||||
if($user){
|
||||
User_username::register($user,$nickname,$this->provider_name);
|
||||
return false;
|
||||
|
@ -96,8 +96,11 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
|
||||
}
|
||||
}
|
||||
|
||||
function autoRegister($username)
|
||||
function autoRegister($username, $nickname)
|
||||
{
|
||||
if(is_null($nickname)){
|
||||
$nickname = $username;
|
||||
}
|
||||
$entry = $this->ldap_get_user($username,$this->attributes);
|
||||
if($entry){
|
||||
$registration_data = array();
|
||||
@ -107,6 +110,7 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
|
||||
if(isset($registration_data['email']) && !empty($registration_data['email'])){
|
||||
$registration_data['email_confirmed']=true;
|
||||
}
|
||||
$registration_data['nickname'] = $nickname;
|
||||
//set the database saved password to a random string.
|
||||
$registration_data['password']=common_good_rand(16);
|
||||
return User::register($registration_data);
|
||||
|
@ -47,10 +47,13 @@ class ReverseUsernameAuthenticationPlugin extends AuthenticationPlugin
|
||||
return $username == strrev($password);
|
||||
}
|
||||
|
||||
function autoRegister($username)
|
||||
function autoRegister($username, $nickname)
|
||||
{
|
||||
if(is_null($nickname)){
|
||||
$nickname = $username;
|
||||
}
|
||||
$registration_data = array();
|
||||
$registration_data['nickname'] = $username ;
|
||||
$registration_data['nickname'] = $nickname ;
|
||||
return User::register($registration_data);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user