Forums | Mahara Community
Developers
/
Creating a new user automatically
06 November 2012, 1:58
hi!
We will be piloting out mahara 1.6 for our University this academic year. SSO is set up on all our services and we were looking into the possibility of also including Mahara.
Code has been added within mahara's config.php so that we can identify if a user (apache remote user) is already signed in and if the account exists within mahara. The problem that we are encountering is when a user is signed in to the sso but the user does not have an account within mahara yet! For this reason we will need create the user within mahara.
We wish that the user's account is created automatically (when user visits mahara the first time) and not to upload users via csv file.
Could you please help by indicating which function/s are needed in order to create the user account within mahara?
so far within config:
$thisUser['username'] = 'personsusername'; //from server remote user
function local_init_user() {
global $thisUser; //array containing user details (not from mahara)
global $USER, $SESSION;
if ( $USER->is_logged_in() ){
if ($USER->get('username') != $thisUser['username']) {
$USER->logout();
loginUser();
}
} else {
loginUser();
}
} //end function
function loginUser(){
global $thisUser, $USER, $SESSION;
try {
$USER=$USER->find_by_username($thisUser['username']);
} catch (Exception $e) {
/*
Code to create new user
*/
}
$USER->login($thisUser['username'], 'passwordforuser');
$USER->commit();
}
local_init_user() is called within init.php just after $USER = new LiveUser();
thank you
Dorian
06 November 2012, 12:24
Hello Dorian,
Why would you need a special setting in the config.php? The built-in SAML SSO plugin allows you to auto-create users if they don't already exist.
http://manual.mahara.org/en/1.6/administration/institutions.html#saml-authentication (number 8 in the screenshot)
Or are you using a different SSO plugin?
Cheers
Kristina