From c0e4504683d4451888f2d0aef86ba91345edc250 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sun, 9 Jul 2023 08:20:27 -0400 Subject: [PATCH] session start --- www-api/app/Controllers/WrenchOauth.php | 50 +++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/www-api/app/Controllers/WrenchOauth.php b/www-api/app/Controllers/WrenchOauth.php index 24233360..92ce9c28 100644 --- a/www-api/app/Controllers/WrenchOauth.php +++ b/www-api/app/Controllers/WrenchOauth.php @@ -190,6 +190,11 @@ class WrenchOauth extends BaseController case 'GOOGLE': log_message('critical', "Reading prepareOauthEndPointData -> ".$endpoint ); $this->gooleOAuthCodeExchange($in, $local_out); + if ( isset($local_out["access_token"])){ + $l_out =[]; + $local_out["user_info"] = $this->gooleOAuthGetUser($local_out["access_token"], $l_out); + $this->provisionGoogleAccount($local_out["user_info"] , $local_out); + } break; } log_message('critical', "prepareOauthEndPointDataL FINAL DATA".serialize($local_out) ); @@ -216,4 +221,49 @@ class WrenchOauth extends BaseController return $in; } +/* + *essage";s:326:"Received from Google token API: { + "id": "112113008943138678578", + "email": "jubaworker@gmail.com", + "verified_email": true, + "name": "Juba Juba", + "given_name": "Juba", + "family_name": "Juba", + "picture": "https://lh3.googleusercontent.com/a/AAcHTtcVmXN4sjpZiUCZI5X6AwJWUhi46g4VRJqtIqW2G2cb=s96-c", + "locale": "en" +} + + */ + private function provisionGoogleAccount($user, &$out) + { + $name = (string) $user["name"]; + if (trim($name) == "") { + $name = strtok($user["email"], "@"); + } + + $data['google_id'] = $user["id"]; + $data['action'] = WRENCHBOARD_GOOGLE_LOGIN; + $data['firstname'] = $user["given_name"];; + $data['lastname'] = $user["family_name"];; + $data['email'] = $user["email"]; + $data['sessionid'] = rand(10000, 99999) . "A" . rand(10000, 99999); + + $this->load->model('backend_model'); + $out = array(); + + $wrenchboard = new \App\Models\BackendModel(); + $ret = $wrenchboard->wrenchboard_api($data, $out); + $out['internal_return'] = $ret; + if ($ret == PHP_LOGIN_OK) { + + + } else { + // Cannot proceed - backend error? +// $msg = (is_array($out) && array_key_exists('status',$out) && $out['status']!='') +// ? $out ['status'] : json_encode($out); +// $this->session->set_flashdata('login_message','Cannot proceed - error: '.$msg); +// redirect('login'); + } + + } }