mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-05 05:14:37 -04:00
Working on OAuth (#3692)
This commit is contained in:
parent
c3c39ffae2
commit
350b61dc3f
@ -398,9 +398,7 @@ class LoginController extends BaseController
|
|||||||
|
|
||||||
// $user = $oauth->getProvider(request()->input('provider'))->getTokenResponse(request()->input('id_token'));
|
// $user = $oauth->getProvider(request()->input('provider'))->getTokenResponse(request()->input('id_token'));
|
||||||
|
|
||||||
// // server_auth_code
|
|
||||||
// // access_token
|
|
||||||
// // id_token
|
|
||||||
|
|
||||||
// if ($user = OAuth::handleAuth($socialite_user, $provider)) {
|
// if ($user = OAuth::handleAuth($socialite_user, $provider)) {
|
||||||
// $user->oauth_user_token = $socialite_user->token;
|
// $user->oauth_user_token = $socialite_user->token;
|
||||||
@ -446,6 +444,10 @@ class LoginController extends BaseController
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//// // server_auth_code
|
||||||
|
// // access_token
|
||||||
|
// // id_token
|
||||||
|
//
|
||||||
private function handleGoogleOauth()
|
private function handleGoogleOauth()
|
||||||
{
|
{
|
||||||
$user = false;
|
$user = false;
|
||||||
@ -454,31 +456,35 @@ class LoginController extends BaseController
|
|||||||
|
|
||||||
$user = $google->getTokenResponse(request()->input('id_token'));
|
$user = $google->getTokenResponse(request()->input('id_token'));
|
||||||
|
|
||||||
info(print_r($user,1));
|
|
||||||
|
|
||||||
if(is_array($user))
|
if(is_array($user))
|
||||||
{
|
{
|
||||||
$query = [
|
$query = [
|
||||||
'oauth_user_id' => $google->harvestSubField($user),
|
'oauth_user_id' => $google->harvestSubField($user),
|
||||||
'oauth_provider_id'=>$provider
|
'oauth_provider_id'=> 'google'
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($user = MultiDB::hasUser($query))
|
if ($existing_user = MultiDB::hasUser($query))
|
||||||
{
|
{
|
||||||
|
|
||||||
Auth::login($user, true);
|
Auth::login($existing_user, true);
|
||||||
|
|
||||||
$ct = CompanyUser::whereUserId(auth()->user()->id);
|
$ct = CompanyUser::whereUserId(auth()->user()->id);
|
||||||
return $this->listResponse($ct);
|
return $this->listResponse($ct);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if($user && request()->input('create') == 'true') {
|
|
||||||
|
if($user){
|
||||||
|
//if($user && request()->input('create') == 'true') {
|
||||||
|
|
||||||
//server_auth_code
|
//server_auth_code
|
||||||
$client = new \Google_Client();
|
$client = new \Google_Client();
|
||||||
$accessToken = $client->fetchAccessTokenWithAuthCode(request()->input('server_auth_code'));
|
//$accessToken = $client->fetchAccessTokenWithAuthCode(request()->input('server_auth_code'));
|
||||||
$client->setAccessToken($accessToken);
|
//$client->setAccessToken($accessToken);
|
||||||
|
|
||||||
|
$client->setAccessToken(request()->input('access_token'));
|
||||||
$refresh_token = $client->getRefreshToken();
|
$refresh_token = $client->getRefreshToken();
|
||||||
|
|
||||||
$name = OAuth::splitName($google->harvestName($user));
|
$name = OAuth::splitName($google->harvestName($user));
|
||||||
@ -491,7 +497,7 @@ info(print_r($user,1));
|
|||||||
'oauth_user_id' => $google->harvestSubField($user),
|
'oauth_user_id' => $google->harvestSubField($user),
|
||||||
'oauth_user_token' => request()->input('access_token'),
|
'oauth_user_token' => request()->input('access_token'),
|
||||||
'oauth_user_refresh_token' => $refresh_token,
|
'oauth_user_refresh_token' => $refresh_token,
|
||||||
'oauth_provider_id' => $provider
|
'oauth_provider_id' => 'google'
|
||||||
];
|
];
|
||||||
|
|
||||||
MultiDB::setDefaultDatabase();
|
MultiDB::setDefaultDatabase();
|
||||||
|
@ -20,7 +20,7 @@ class Google implements ProviderInterface
|
|||||||
return $payload['sub']; // user ID
|
return $payload['sub']; // user ID
|
||||||
}
|
}
|
||||||
|
|
||||||
public function havestName($payload)
|
public function harvestName($payload)
|
||||||
{
|
{
|
||||||
return $payload['name'];
|
return $payload['name'];
|
||||||
}
|
}
|
||||||
|
@ -8,5 +8,5 @@ interface ProviderInterface
|
|||||||
|
|
||||||
public function harvestEmail($response);
|
public function harvestEmail($response);
|
||||||
|
|
||||||
public function havestName($response);
|
public function harvestName($response);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user