Backend support for Apple login
This commit is contained in:
@@ -265,7 +265,7 @@ class Login extends WRB_Controller {
|
||||
|
||||
if ($proceed) {
|
||||
|
||||
$this->provision_account($user, $data);
|
||||
$this->provisionAccount($user, $data);
|
||||
|
||||
} else {
|
||||
// Cannot proceed - duplicate email?
|
||||
@@ -349,21 +349,23 @@ class Login extends WRB_Controller {
|
||||
eyJpc3MiOiJodHRwczovL2FwcGxlaWQuYXBwbGUuY29tIiwiYXVkIjoiY29tLndyZW5jaGJvYXJkLnVzZXJzLmNsaWVudCIsImV4cCI6MTY1NDE3MjM5NywiaWF0IjoxNjU0MDg1OTk3LCJzdWIiOiIwMDE4MTAuMjBlNzUwMjhkNDljNDJkOGI0MzBiNDJkMWQ3NDg3ZjMuMTE1NyIsImF0X2hhc2giOiJPSzNfZlNtLUJZTEMzd3R5QTB4Q2pRIiwiZW1haWwiOiJhY2lkdW1pcmFlQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjoidHJ1ZSIsImF1dGhfdGltZSI6MTY1NDA4NTk2Mywibm9uY2Vfc3VwcG9ydGVkIjp0cnVlfQ
|
||||
jHxcOMAxUYEJx7nlmAXPN6PuqKMxVVcklGU5p6k16UvSS4DOM7nDwduo8D9FrzcjnTMGmLAThBYw2reilKv3vod034iTfBoL-vno_I7Wa-Iig5uTji7leaoDpfWyDAT7kFXpa6LVGdtZ8KdcVfSY-GF58JpKKQtf-sKB4sqnN1HAeCgYKP3EO5sf0zOttA7noZ_i6ITrmFbx5Mndf8Ktw-gb-LM-Ux11TEApByn4FcpL5m3ycvxxyaWsnLrGtraNK2S5N7Sby2imSB0iT9MFQRCL-4ddyD1YUDbpKLQDTlaSQuTPCX09AdMeLpx0wK6TAiTUUrOf93ljYU724Flb4g
|
||||
*/
|
||||
|
||||
//die();
|
||||
$id = $claims->sub;
|
||||
echo "<h1>${id}</h1>";
|
||||
$email = $claims->email;
|
||||
|
||||
if ($id !='' && $email != '') {
|
||||
$user = array(
|
||||
'id' => $claims->sub,
|
||||
'name' => 'First Last',
|
||||
'email' => $claims->email,
|
||||
'id' => $id,
|
||||
'name' => '',
|
||||
'email' => $email,
|
||||
'apple' => 1
|
||||
);
|
||||
list($proceed, $data) = $this->checkUserExists($user, $data);
|
||||
|
||||
if ($proceed) {
|
||||
|
||||
$this->provision_account($user, $data);
|
||||
$this->provisionAccount($user, $data);
|
||||
|
||||
} else {
|
||||
// Cannot proceed - duplicate email?
|
||||
@@ -383,18 +385,24 @@ class Login extends WRB_Controller {
|
||||
}
|
||||
}
|
||||
|
||||
function provision_account($user, $data)
|
||||
private function provisionAccount($user, $data)
|
||||
{
|
||||
$name = (string) $user["name"];
|
||||
if (trim($name) == "") {
|
||||
$name = strtok($user["email"], "@");
|
||||
}
|
||||
$data['google_id'] = $user["id"];
|
||||
if (array_key_exists('google',$user)) {
|
||||
$data['google_id'] = $user["id"];
|
||||
$data['action'] = WRENCHBOARD_GOOGLE_LOGIN;
|
||||
} else {
|
||||
$data['apple_id'] = $user["id"];
|
||||
$data['action'] = WRENCHBOARD_APPLE_LOGIN;
|
||||
}
|
||||
$data['firstname'] = strtok($name, " ");
|
||||
$data['lastname'] = strtok(" ");
|
||||
$data['email'] = $user["email"];
|
||||
$data['sessionid'] = rand(10000, 99999) . "A" . rand(10000, 99999);
|
||||
$data['action'] = WRENCHBOARD_GOOGLE_LOGIN;
|
||||
|
||||
$this->load->model('backend_model');
|
||||
$out = array();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user