Laravel | LinkedIn登录 - ' 401未经授权'

时间:2017-11-28 17:25:24

标签: php laravel authentication linkedin

我的LinkedIn应用程序出现了另一个错误,无法在我的网站上登录,因此我被重定向到正确的网址,我点击了“授权”#39;一旦我登陆LinkedIn登录页面,我就会被重定向到这样的链接:

  

http://localhost:8000/login/linkedin/callback?code=XXXXXXXXXXXXXXXXXXXXX ...

出现以下错误:

  

客户端错误:POST https://www.linkedin.com/oauth/v2/accessToken导致401 Unauthorized响应:{"错误":" invalid_client"," error_description":& #34;客户端身份验证失败"}

我不明白为什么,因为我做了一个Twitter应用程序登录我的网站,使用相同的控制器,它完全正常工作..这是我的SocialAuthController:

public function redirectToProvider($driver)
    {
        if( ! $this->isProviderAllowed($driver) ) {
            return $this->sendFailedResponse("{$driver} is not currently supported");
        }

        try {
            return Socialite::driver($driver)->redirect();
        } catch (Exception $e) {
            // You should show something simple fail message
            return $this->sendFailedResponse($e->getMessage());
        }
    }    

public function handleProviderCallback( $driver )
    {
        try {
            $user = Socialite::driver($driver)->user();
        } catch (Exception $e) {
            return $this->sendFailedResponse($e->getMessage());
        }

        // check for email in returned user
        return empty( $user->email )
            ? $this->sendFailedResponse("No email id returned from {$driver} provider.")
            : $this->loginOrCreateAccount($user, $driver);
    }

我的路线:

Route::get('login/{driver}', 'Auth\SocialAuthController@redirectToProvider')->name('social.oauth');
Route::get('login/{driver}/callback', 'Auth\SocialAuthController@handleProviderCallback')->name('social.callback');

我多次检查过services.php和LinkedIn应用程序之间的所有数据都是完全匹配的......我无法解决这个问题。

1 个答案:

答案 0 :(得分:0)

您需要添加

'x-li-src'    => 'msdk'

放入文件headers中的vendor/laravel/socialite/src/Two/LinkedInProvider.php数组

请检查此链接以获取更多信息,Android LinkedIn SDK produces unusable access tokens