2016-12-18 5 views
0
사용자 (이 경우의 LinkedIn) 사회에서의 OAuth 인증 요청을 취소 할 때 나는 "거부"워크 플로우를 시도하고

페이지Laravel 사교계 :의 Oauth이 거부 워크 플로우

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 
} 
관련 문제