I have code like this
`
namespace App\Modules\User;
use Adaojunior\Passport\SocialGrantException;
use Adaojunior\Passport\SocialUserResolverInterface;
class SocialUserResolver implements SocialUserResolverInterface
{
/**
* Resolves user by given network and access token.
*
* @param string $network
* @param string $accessToken
* @return \Illuminate\Contracts\Auth\Authenticatable
*/
public function resolve($network, $accessToken, $accessTokenSecret = null)
{
switch ($network) {
case 'facebook':
return $this->authWithFacebook($accessToken);
break;
default:
throw SocialGrantException::invalidNetwork();
break;
}
}
/**
* Resolves user by facebook access token.
*
* @param string $accessToken
* @return \App\User
*/
protected function authWithFacebook($accessToken)
{
// dd($accessToken);
$account = \Socialite::driver('facebook')->userFromToken($accessToken);
}
}`
And AuthController.php
`
stateless()->redirect();
} catch (InvalidArgumentException $e) {
return abort(404, 'Driver tidak dikenal.');
}
}
public function providerCallback(Request $request, $provider)
{
try {
$account = \Socialite::driver($provider)->stateless()->user();
// dd($account->accessToken);
$user = User::firstOrNew(['email' => $account->email]);
// update details
$user->name = $account->name;
$user->avatar = $account->avatar;
$user->save();
$provider = UserProvider::firstOrNew(['provider' => $provider, 'provider_id' => $account->id]);
$provider->user_id = $user->id;
$provider->save();
// \Auth::login($user, true);
/*$user = \Socialite::driver('facebook')->userFromToken($account->token);
dd($user);*/
$http = new \GuzzleHttp\Client;
return $response = $http->post('http://api.blazbluz.dev/oauth/token', [
'form_params' => [
'grant_type' => 'social',
'client_id' => 2,
'client_secret' => 'NQ7QZP49VmBEAEaOOWCWIONvpzU4T6MBDF4oWUdU',
'network' => 'facebook', /// or any other network that your server is able to resolve.
'access_token' => $account->token,
],
]);
} catch (InvalidArgumentException $e) {
return abort(404, 'Driver tidak dikenal.');
}/* catch (\GuzzleHttp\Exception\ClientException $e) {
dd('dd');
}*/
}
/**
* Resolves user by given network and access token.
*
*
@param string $network
*
@param string $accessToken
*
@return \Illuminate\Contracts\Auth\Authenticatable
*/
}
`
![Uploading Screenshot_358.png…]()
I have code like this
`
namespace App\Modules\User;
use Adaojunior\Passport\SocialGrantException;
use Adaojunior\Passport\SocialUserResolverInterface;
class SocialUserResolver implements SocialUserResolverInterface
{
/**
* Resolves user by given network and access token.
*
*
@param string $network
*
@param string $accessToken
*
@return \Illuminate\Contracts\Auth\Authenticatable
*/
public function resolve($network, $accessToken, $accessTokenSecret = null)
{
switch ($network) {
case 'facebook':
return $this->authWithFacebook($accessToken);
break;
default:
throw SocialGrantException::invalidNetwork();
break;
}
}
/**
* Resolves user by facebook access token.
*
*
@param string $accessToken
*
@return \App\User
*/
protected function authWithFacebook($accessToken)
{
// dd($accessToken);
$account = \Socialite::driver('facebook')->userFromToken($accessToken);
}
}`
And AuthController.php
`
![Uploading Screenshot_358.png…]()
stateless()->redirect();
} catch (InvalidArgumentException $e) {
return abort(404, 'Driver tidak dikenal.');
}
}
public function providerCallback(Request $request, $provider)
{
try {
$account = \Socialite::driver($provider)->stateless()->user();
// dd($account->accessToken);
$user = User::firstOrNew(['email' => $account->email]);
// update details
$user->name = $account->name;
$user->avatar = $account->avatar;
$user->save();
$provider = UserProvider::firstOrNew(['provider' => $provider, 'provider_id' => $account->id]);
$provider->user_id = $user->id;
$provider->save();
// \Auth::login($user, true);
/*$user = \Socialite::driver('facebook')->userFromToken($account->token);
dd($user);*/
$http = new \GuzzleHttp\Client;
return $response = $http->post('http://api.blazbluz.dev/oauth/token', [
'form_params' => [
'grant_type' => 'social',
'client_id' => 2,
'client_secret' => 'NQ7QZP49VmBEAEaOOWCWIONvpzU4T6MBDF4oWUdU',
'network' => 'facebook', /// or any other network that your server is able to resolve.
'access_token' => $account->token,
],
]);
} catch (InvalidArgumentException $e) {
return abort(404, 'Driver tidak dikenal.');
}/* catch (\GuzzleHttp\Exception\ClientException $e) {
dd('dd');
}*/
}
/**
* Resolves user by given network and access token.
*
*
@param string $network
*
@param string $accessToken
*
@return \Illuminate\Contracts\Auth\Authenticatable
*/
}
`