2016-12-18 15 views
0
ユーザー(この場合はLinkedInの)社会からのOAuth認証要求を解除するとき、私は「拒否」のワークフローを実行しようとしています

ページLaravel名士:のOauth 2拒絶ワークフロー

ClientException in RequestException.php line 111: Client error: POST https://www.linkedin.com/oauth/v2/accessToken resulted in a 400 Bad Request response: {"error":"missing_parameter","error_description":"A required parameter \"code\" is missing"}

コントローラが標準のコードを持っています:

public function redirect() 
{ 
    return Socialite::driver('linkedin')->redirect(); 
} 

public function callback() 
{ 
    $providerUser = Socialite::driver('linkedin')->user(); 
    ... 
} 

ユーザーがソーシャルサイトで[許可/承諾]をクリックすると正常に動作します。ユーザーがキャンセルすると例外がスローされます。

ユーザーの「拒否」シナリオの処理方法を理解できません。

答えて

1

callbackの機能では、例外のためにtrycatchブロックを追加して、何でもしてください。

try { 

    $user = Socialite::driver('facebook')->user(); 

} catch (\Exception $e) { 
    return redirect('redirect'); // This will ask for access from user again. I don't prefer 
    // Do whatever you like 
}