Laravel 名流 使用 LinkedIn 登录 |错误 未授权范围错误

问题描述 投票:0回答:1

大家好,我正在尝试使用 Laravel Socialite Package 来允许用户使用他们的 LinkedIn 帐户登录。我已经在我的 ENV 文件中设置了客户端 ID、秘密和 URL,如下所示:

LINKEDIN_CLIENT_ID=xyzSomeID LINKEDIN_CLIENT_SECRET=xyzSomeSecret  LINKEDIN_URL=https://mydomainname.com/api/domain-login/linkedin/callback 
但是当我尝试使用 LinkedIn 按钮登录时,出现以下错误

Unauthorized scope error scope profile is not authorized for your application LinkedIn Socialite login Laravel 

几秒钟后,我被重定向回 URL,并出现以下错误

{"message":"Error occurred","data":"Client error: 
POST https://www.linkedin.com/oauth/v2/accessToken
resulted in a
400 错误请求
 response:\n{\"error\":\"invalid_request\",\"error_description\":\"A required parameter \\\"code\\\" is missing\"}\n113"}

请注意:已启用使用 OpenID Connect 登录 LinkedIn。

任何这方面的提示都将受到高度赞赏。

我已经设置了运行良好的路线。 开发者控制台已经设置并且工作正常。 客户端 ID、Secret 和回调 URI 已添加到 ENV 文件中。

这是我的路线:

Route::get('domian-login/{provider}', [ControllerName::class, 'redirectToProvider']); Route::get('domain-login/{provider}/callback', [ControllerName::class, 'handleProviderCallback']); Route::post('domain/save-social-user', [ControllerName::class, 'saveSocialUser']); 

laravel laravel-8 linkedin-api laravel-9 laravel-socialite
1个回答
0
投票

我能够解决这个问题。 主要问题是,现在 LinkedIn 使用 使用 OpenID Connect 通过 LinkedIn 登录,而不是 通过 LinkedIn 登录

这是我在laravel/socialite的根代码中找到的。

所以你只需要在service.phpSocialite::driver('linkedin-openid')->redirect();中使用

linkedin-openid
代替
linkedin

© www.soinside.com 2019 - 2024. All rights reserved.