You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony集成LinkedIn登录OAuth权限错误求助

LinkedIn OAuth登录集成(Symfony)当前规则与解决办法

一、当前LinkedIn权限的核心要求

  • 旧API(v1)的email、profile权限已彻底废弃,必须使用v2及以上版本的权限,且调用API时需明确指定版本号。
  • r_liteprofile(获取基础个人资料)、r_emailaddress(获取邮箱)权限的使用分场景:内部员工登录等封闭场景可直接启用;面向外部用户的公开应用,必须提交LinkedIn审核,说明权限具体用途,通过后才能使用。

二、针对你遇到的两个错误的解决办法

错误1:Not enough permissions to access: me.GET.NO_VERSION

  • 问题根源:使用了废弃的旧权限,且未指定API版本。
  • 解决步骤:
    • 替换旧权限,改用r_liteprofile和r_emailaddress。
    • 调用LinkedIn接口时使用v2版本地址,例如https://api.linkedin.com/v2/me,而非旧版v1地址。
    • 在Symfony的OAuth配置中,将权限范围设置为r_liteprofile r_emailaddress。

错误2:scopes are not authorized for your application

  • 问题根源:LinkedIn应用未启用目标权限,或未通过权限审核。
  • 解决步骤:
    1. 登录LinkedIn开发者后台,进入你的应用页面。
    2. 切换到「Products」标签页,找到「Sign In with LinkedIn」产品,点击「Request access」,如实填写权限使用场景(例如“用于用户登录Symfony平台,完成账号注册/绑定,仅获取基础个人资料与邮箱”),提交审核。
    3. 审核通过后,进入「Auth」标签页,在「OAuth 2.0 Scopes」中勾选r_liteprofile和r_emailaddress并保存配置。
    4. 清除Symfony应用的OAuth缓存,重新测试登录流程。

三、Symfony配置注意事项

  • 使用支持LinkedIn v2 API的OAuth库,例如knpuniversity/oauth2-client-bundle的LinkedIn provider已适配v2版本。
  • 客户端配置示例:
    knpu_oauth2_client:
        clients:
            linkedin:
                type: linkedin
                client_id: '%env(OAUTH_LINKEDIN_ID)%'
                client_secret: '%env(OAUTH_LINKEDIN_SECRET)%'
                redirect_route: linkedin_check
                redirect_params: {}
                scopes: ['r_liteprofile', 'r_emailaddress']
    
  • 获取用户信息时调用v2接口:
    • 个人资料:https://api.linkedin.com/v2/me?projection=(id,firstName,lastName)
    • 邮箱:https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))

内容的提问来源于stack exchange,提问作者elemeNt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 03:15:09