Django集成LinkedIn登录遇r_liteprofile权限错误求解决
解决LinkedIn登录时
r_liteprofile权限未授权错误 核心原因
LinkedIn在2023年后的API版本中已废弃r_liteprofile权限,取而代之的是profile权限(归属Member Profile API v2)。你的应用请求了已废弃的权限,因此触发AuthFailed错误。
具体修复步骤
替换权限字段
在Django认证配置中,将原r_liteprofile替换为profile,若需获取邮箱,同步将r_emailaddress替换为email。示例代码修改:# 原错误配置 # LINKEDIN_SCOPE = ['r_liteprofile', 'r_emailaddress'] # 修改后配置 LINKEDIN_SCOPE = ['profile', 'email']确认应用产品权限
登录LinkedIn开发者平台进入你的应用:- 点击左侧菜单「Products」选项
- 添加「Sign In with LinkedIn v2」产品(未添加的话)
- 进入该产品配置页,确认
profile和email权限已启用(这两个是该产品默认包含的基础权限)
更新API请求逻辑
新权限返回的用户数据结构与旧权限不同,需调整认证后端的解析逻辑:- 获取用户信息的API端点从
https://api.linkedin.com/v1/people/~改为https://api.linkedin.com/v2/userinfo - 解析响应时使用新字段名,比如
given_name、family_name、picture,替代旧的firstName、lastName
- 获取用户信息的API端点从
清除旧授权缓存
清除用户浏览器中与该应用相关的Cookie或Session,避免旧权限请求残留影响测试。
常见误区
- 不要在LinkedIn应用的「Auth」页面寻找
r_liteprofile权限,该旧权限已从控制台移除,仅能通过添加「Sign In with LinkedIn v2」产品获取新权限。 - 确保API请求使用v2版本端点,v1版本已被LinkedIn淘汰。
内容的提问来源于stack exchange,提问作者Mohit Thakur You will come bac
相关产品推荐
相关产品推荐

