Switch Google login to native client
This commit is contained in:
@@ -23,12 +23,16 @@ class Home extends WRB_Controller {
|
|||||||
// Load Hybridauth's helper
|
// Load Hybridauth's helper
|
||||||
$this->load->helper('hybridauth');
|
$this->load->helper('hybridauth');
|
||||||
|
|
||||||
|
/*
|
||||||
// Instantiate Hybridauth's classes
|
// Instantiate Hybridauth's classes
|
||||||
$hybrid = new Hybridauth(get_hybridauth_config());
|
$hybrid = new Hybridauth(get_hybridauth_config());
|
||||||
|
|
||||||
// Get login links
|
// Get login links
|
||||||
$login_links = get_hybridauth_links($hybrid, $this->router);
|
$login_links = get_hybridauth_links($hybrid, $this->router);
|
||||||
|
*/
|
||||||
|
$login_links = array(
|
||||||
|
'Google' => get_google_login_link()
|
||||||
|
);
|
||||||
// Pass login links to html template
|
// Pass login links to html template
|
||||||
$data['login_links'] = $login_links;
|
$data['login_links'] = $login_links;
|
||||||
|
|
||||||
|
|||||||
@@ -162,12 +162,16 @@ class Login extends WRB_Controller {
|
|||||||
// Load Hybridauth's helper
|
// Load Hybridauth's helper
|
||||||
$this->load->helper('hybridauth');
|
$this->load->helper('hybridauth');
|
||||||
|
|
||||||
|
/*
|
||||||
// Instantiate Hybridauth's classes
|
// Instantiate Hybridauth's classes
|
||||||
$hybrid = new Hybridauth(get_hybridauth_config());
|
$hybrid = new Hybridauth(get_hybridauth_config());
|
||||||
|
|
||||||
// Get login links
|
// Get login links
|
||||||
$login_links = get_hybridauth_links($hybrid, $this->router);
|
$login_links = get_hybridauth_links($hybrid, $this->router);
|
||||||
|
*/
|
||||||
|
$login_links = array(
|
||||||
|
'Google' => get_google_login_link()
|
||||||
|
);
|
||||||
// Pass login links to html template
|
// Pass login links to html template
|
||||||
$data['login_links'] = $login_links;
|
$data['login_links'] = $login_links;
|
||||||
|
|
||||||
@@ -216,6 +220,82 @@ class Login extends WRB_Controller {
|
|||||||
|
|
||||||
//Processes social login
|
//Processes social login
|
||||||
function auth($provider = NULL)
|
function auth($provider = NULL)
|
||||||
|
{
|
||||||
|
// Load Hybridauth's helper
|
||||||
|
$this->load->helper('hybridauth');
|
||||||
|
$code = $this->input->get('code');
|
||||||
|
if ($code!='') {
|
||||||
|
$client = get_google_client();
|
||||||
|
$token = $client->fetchAccessTokenWithAuthCode($code);
|
||||||
|
$client->setAccessToken($token['access_token']);
|
||||||
|
|
||||||
|
// get profile info
|
||||||
|
$google_oauth = new Google_Service_Oauth2($client);
|
||||||
|
$google_account_info = $google_oauth->userinfo->get();
|
||||||
|
$email = $google_account_info->email;
|
||||||
|
$name = $google_account_info->name;
|
||||||
|
|
||||||
|
var_dump($google_account_info);
|
||||||
|
exit();
|
||||||
|
|
||||||
|
if ($email != '') {
|
||||||
|
/*
|
||||||
|
$user = array(
|
||||||
|
'id' => '',
|
||||||
|
'name' => '',
|
||||||
|
'email' => ''
|
||||||
|
);
|
||||||
|
list($proceed, $data) = $this->checkUserExists($user, $data);
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
if ($proceed) {
|
||||||
|
$name = (string) $user["name"];
|
||||||
|
if (trim($name) == "")
|
||||||
|
$name = strtok($user["email"], "@");
|
||||||
|
$data['fb_id'] = $user["id"];
|
||||||
|
$data['firstname'] = strtok($name, " ");
|
||||||
|
$data['lastname'] = strtok(" ");
|
||||||
|
$data['email'] = $user["email"];
|
||||||
|
$data['sessionid'] = rand(10000, 99999) . "A" . rand(10000, 99999);
|
||||||
|
$data['action'] = WRENCHBOARD_FACEBOOK_LOGIN;
|
||||||
|
$this->load->model('backend_model');
|
||||||
|
$out = array();
|
||||||
|
$res = $this->backend_model->wrenchboard_api($data, $out);
|
||||||
|
if ($res == PHP_LOGIN_OK) {
|
||||||
|
$this->load->model('account_model');
|
||||||
|
$ret = $this->account_model->username_data($out);
|
||||||
|
if ($res !== false) {
|
||||||
|
$data["login_message"] = "Welcome...";
|
||||||
|
// yes person has an account
|
||||||
|
$_SESSION['session_id'] = $out["session"];
|
||||||
|
$_SESSION['username'] = $ret->username;
|
||||||
|
$_SESSION['name'] = $ret->username;
|
||||||
|
$_SESSION['firstname'] = $ret->firstname;
|
||||||
|
$_SESSION['lastname'] = $ret->lastname;
|
||||||
|
$_SESSION['email'] = $ret->email;
|
||||||
|
$_SESSION['member_id'] = $ret->id;
|
||||||
|
$_SESSION['log_count'] = 0;
|
||||||
|
$_SESSION['mesaage_count'] = 0;
|
||||||
|
$this->findOffers($_SESSION['email']);
|
||||||
|
$_SESSION['message_snapshot'] = $this->myMessagesSnapshot();
|
||||||
|
|
||||||
|
$this->logUser('Account login');
|
||||||
|
$this->refreshAccountDetail($_SESSION['member_id']);
|
||||||
|
$this->getSessionArray();
|
||||||
|
|
||||||
|
$this->excudedEmails();
|
||||||
|
|
||||||
|
redirect('dash');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Processes social login
|
||||||
|
function authh($provider = NULL)
|
||||||
{
|
{
|
||||||
// Load Hybridauth's helper
|
// Load Hybridauth's helper
|
||||||
$this->load->helper('hybridauth');
|
$this->load->helper('hybridauth');
|
||||||
@@ -239,6 +319,8 @@ class Login extends WRB_Controller {
|
|||||||
if ($provider)
|
if ($provider)
|
||||||
{
|
{
|
||||||
$service = $hybrid->authenticate($provider);
|
$service = $hybrid->authenticate($provider);
|
||||||
|
var_dump($service);
|
||||||
|
exit();
|
||||||
if ($service->isConnected())
|
if ($service->isConnected())
|
||||||
{
|
{
|
||||||
//Get user profile
|
//Get user profile
|
||||||
@@ -260,58 +342,6 @@ class Login extends WRB_Controller {
|
|||||||
echo 'Name: ' . $profile->displayName;
|
echo 'Name: ' . $profile->displayName;
|
||||||
print_r($profile);
|
print_r($profile);
|
||||||
exit();
|
exit();
|
||||||
|
|
||||||
/*
|
|
||||||
$user = array(
|
|
||||||
'id' => '',
|
|
||||||
'name' => '',
|
|
||||||
'email' => ''
|
|
||||||
);
|
|
||||||
list($proceed, $data) = $this->checkUserExists($user, $data);
|
|
||||||
|
|
||||||
// TODO
|
|
||||||
if ($proceed) {
|
|
||||||
$name = (string) $user["name"];
|
|
||||||
if (trim($name) == "")
|
|
||||||
$name = strtok($user["email"], "@");
|
|
||||||
$data['fb_id'] = $user["id"];
|
|
||||||
$data['firstname'] = strtok($name, " ");
|
|
||||||
$data['lastname'] = strtok(" ");
|
|
||||||
$data['email'] = $user["email"];
|
|
||||||
$data['sessionid'] = rand(10000, 99999) . "A" . rand(10000, 99999);
|
|
||||||
$data['action'] = WRENCHBOARD_FACEBOOK_LOGIN;
|
|
||||||
$this->load->model('backend_model');
|
|
||||||
$out = array();
|
|
||||||
$res = $this->backend_model->wrenchboard_api($data, $out);
|
|
||||||
if ($res == PHP_LOGIN_OK) {
|
|
||||||
$this->load->model('account_model');
|
|
||||||
$ret = $this->account_model->username_data($out);
|
|
||||||
if ($res !== false) {
|
|
||||||
$data["login_message"] = "Welcome...";
|
|
||||||
// yes person has an account
|
|
||||||
$_SESSION['session_id'] = $out["session"];
|
|
||||||
$_SESSION['username'] = $ret->username;
|
|
||||||
$_SESSION['name'] = $ret->username;
|
|
||||||
$_SESSION['firstname'] = $ret->firstname;
|
|
||||||
$_SESSION['lastname'] = $ret->lastname;
|
|
||||||
$_SESSION['email'] = $ret->email;
|
|
||||||
$_SESSION['member_id'] = $ret->id;
|
|
||||||
$_SESSION['log_count'] = 0;
|
|
||||||
$_SESSION['mesaage_count'] = 0;
|
|
||||||
$this->findOffers($_SESSION['email']);
|
|
||||||
$_SESSION['message_snapshot'] = $this->myMessagesSnapshot();
|
|
||||||
|
|
||||||
$this->logUser('Account login');
|
|
||||||
$this->refreshAccountDetail($_SESSION['member_id']);
|
|
||||||
$this->getSessionArray();
|
|
||||||
|
|
||||||
$this->excudedEmails();
|
|
||||||
|
|
||||||
redirect('dash');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// */
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -17,12 +17,16 @@ class Site extends WRB_Controller {
|
|||||||
// Load Hybridauth's helper
|
// Load Hybridauth's helper
|
||||||
$this->load->helper('hybridauth');
|
$this->load->helper('hybridauth');
|
||||||
|
|
||||||
|
/*
|
||||||
// Instantiate Hybridauth's classes
|
// Instantiate Hybridauth's classes
|
||||||
$hybrid = new Hybridauth(get_hybridauth_config());
|
$hybrid = new Hybridauth(get_hybridauth_config());
|
||||||
|
|
||||||
// Get login links
|
// Get login links
|
||||||
$login_links = get_hybridauth_links($hybrid, $this->router);
|
$login_links = get_hybridauth_links($hybrid, $this->router);
|
||||||
|
*/
|
||||||
|
$login_links = array(
|
||||||
|
'Google' => get_google_login_link()
|
||||||
|
);
|
||||||
// Pass login links to html template
|
// Pass login links to html template
|
||||||
$data['login_links'] = $login_links;
|
$data['login_links'] = $login_links;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,60 @@
|
|||||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
POST /oauth2/v4/token HTTP/1.1
|
||||||
|
Host: www.googleapis.com
|
||||||
|
Content-length: 233
|
||||||
|
content-type: application/x-www-form-urlencoded
|
||||||
|
user-agent: google-oauth-playground
|
||||||
|
code=4%2FKxoYTS-jeq5-d6Lv7YvSz9ZrK0pJ_5lZsMExzNC1M0o
|
||||||
|
&redirect_uri=https%3A%2F%2Foameye.work.wrenchboard.com%2Flogin%2Fauth%2F
|
||||||
|
&client_id=817021856543-ad9nsjgdpsu2s2jrl63j3ihrv7lbf6ma.apps.googleusercontent.com
|
||||||
|
&client_secret=aozK_2G8UjaCmLgPPkv9abIm
|
||||||
|
&scope=
|
||||||
|
&grant_type=authorization_code
|
||||||
|
|
||||||
|
https://oameye.work.wrenchboard.com/login/auth/
|
||||||
|
?state=HA-R5UG9ZADN2JL8MKPCV736QSIHTEXW4OF01YB
|
||||||
|
&code=4/0AX4XfWjGtsNysrdFaHZLp6rIOKzZjMj4zmJTQrqu0NOBdEDEuYn9LoBzJoxDFgrw43BqGA
|
||||||
|
&scope=email+profile+https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile+openid&authuser=0&
|
||||||
|
prompt=consent
|
||||||
|
|
||||||
|
|
||||||
|
curl -X POST -d 'code=4/0AX4XfWjGtsNysrdFaHZLp6rIOKzZjMj4zmJTQrqu0NOBdEDEuYn9LoBzJoxDFgrw43BqGA&redirect_uri=https%3A%2F%2Foameye.work.wrenchboard.com%2Flogin%2Fauth%2F&client_id=817021856543-ad9nsjgdpsu2s2jrl63j3ihrv7lbf6ma.apps.googleusercontent.com&client_secret=aozK_2G8UjaCmLgPPkv9abIm&scope=&grant_type=authorization_code' https://www.googleapis.com/oauth2/v4/token
|
||||||
|
|
||||||
|
*/
|
||||||
|
if ( ! function_exists('get_google_client'))
|
||||||
|
{
|
||||||
|
// Configure Google Client
|
||||||
|
function get_google_client()
|
||||||
|
{
|
||||||
|
// init configuration
|
||||||
|
$clientID = '817021856543-ad9nsjgdpsu2s2jrl63j3ihrv7lbf6ma.apps.googleusercontent.com';
|
||||||
|
$clientSecret = 'aozK_2G8UjaCmLgPPkv9abIm';
|
||||||
|
$redirectUri = site_url('login/auth/');
|
||||||
|
|
||||||
|
// create Client Request to access Google API
|
||||||
|
$client = new Google_Client();
|
||||||
|
$client->setClientId($clientID);
|
||||||
|
$client->setClientSecret($clientSecret);
|
||||||
|
$client->setRedirectUri($redirectUri);
|
||||||
|
$client->addScope("email");
|
||||||
|
$client->addScope("profile");
|
||||||
|
|
||||||
|
return $client;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ! function_exists('get_google_login_link'))
|
||||||
|
{
|
||||||
|
// Get Google login link
|
||||||
|
function get_google_login_link()
|
||||||
|
{
|
||||||
|
$client = get_google_client();
|
||||||
|
return $client->createAuthUrl();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ( ! function_exists('get_hybridauth_config'))
|
if ( ! function_exists('get_hybridauth_config'))
|
||||||
{
|
{
|
||||||
//Hybridauth configuration
|
//Hybridauth configuration
|
||||||
@@ -17,7 +72,6 @@ if ( ! function_exists('get_hybridauth_config'))
|
|||||||
'secret' => 'aozK_2G8UjaCmLgPPkv9abIm'
|
'secret' => 'aozK_2G8UjaCmLgPPkv9abIm'
|
||||||
) ,
|
) ,
|
||||||
'scope' => 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile',
|
'scope' => 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile',
|
||||||
'redirect_uri' => site_url('login/auth/') . '?hauth.done=google'
|
|
||||||
) ,
|
) ,
|
||||||
|
|
||||||
'Facebook' => array(
|
'Facebook' => array(
|
||||||
|
|||||||
+3
-2
@@ -13,9 +13,10 @@
|
|||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3.7",
|
"php": ">=5.3.7",
|
||||||
"facebook/php-sdk-v4" : "~5.0",
|
"facebook/php-sdk-v4" : "~5.0",
|
||||||
"firebase/php-jwt": "^6.0",
|
"firebase/php-jwt": "^5.5.1",
|
||||||
"phpseclib/phpseclib": "^3.0",
|
"phpseclib/phpseclib": "^3.0",
|
||||||
"hybridauth/hybridauth" : "~3.7.1"
|
"hybridauth/hybridauth" : "~3.7.1",
|
||||||
|
"google/apiclient":"^2.12.1"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"paragonie/random_compat": "Provides better randomness in PHP 5.x"
|
"paragonie/random_compat": "Provides better randomness in PHP 5.x"
|
||||||
|
|||||||
Reference in New Issue
Block a user