Laravel集成LinkedIn授权遇403错误:无权限访问GET /me
错误原因分析
你遇到的403 Forbidden错误是因为当前访问令牌缺少调用/v2/me接口所需的权限。虽然你已添加「Share on LinkedIn」和「Sign In with LinkedIn using OpenID Connect」产品,但这两个产品的默认权限并不覆盖读取用户基础信息的权限。
解决方案步骤
确认所需权限范围
调用LinkedIn的/v2/me接口必须包含r_liteprofile权限(这是LinkedIn当前推荐的基础用户信息读取权限)。如果需要读取用户邮箱,还需额外添加r_emailaddress权限。更新Laravel Socialite配置
在config/services.php文件中,修改LinkedIn的配置项,补充所需的权限范围:'linkedin' => [ 'client_id' => env('LINKEDIN_CLIENT_ID'), 'client_secret' => env('LINKEDIN_CLIENT_SECRET'), 'redirect' => env('LINKEDIN_REDIRECT_URI'), 'scopes' => ['r_liteprofile', 'r_emailaddress', 'w_member_social'], // w_member_social对应Share权限 ],重新获取授权令牌
旧的访问令牌不包含新增的权限,需要引导用户重新完成授权流程。可以清除用户之前的会话缓存,或者让用户重新点击登录按钮获取新的令牌。验证令牌权限
可以通过LinkedIn的令牌验证接口查看令牌包含的权限,确认r_liteprofile是否在权限列表中,确保权限配置生效。
内容的提问来源于stack exchange,提问作者Ronak patel
相关产品推荐
相关产品推荐

