我正在使用
Django
和 social-auth-app-django
构建一个应用程序。
我遵循了本教程。
我在LinkedIn上为开发人员创建了一个应用程序,获取了client_id和secret_key。我还确保产品
Sign In with LinkedIn using OpenID Connect
已添加到我的应用程序中。
在
settings.py
中,我添加了所有OAUTH2参数:
SOCIAL_AUTH_LINKEDIN_OAUTH2_KEY = '...' # Client ID
SOCIAL_AUTH_LINKEDIN_OAUTH2_SECRET = '...' # Client Secret
SOCIAL_AUTH_LINKEDIN_OAUTH2_SCOPE = ['r_basicprofile', 'r_emailaddress']
SOCIAL_AUTH_LINKEDIN_OAUTH2_FIELD_SELECTORS = ['email',
'formatted-name',
'public-profile-url',
'picture-url']
SOCIAL_AUTH_LINKEDIN_OAUTH2_EXTRA_DATA = [
('id', 'id'),
('formattedName', 'name'),
('emailAddress', 'email_address'),
('pictureUrl', 'picture_url'),
('publicProfileUrl', 'profile_url'),
]
但是,我不断得到
Authentication failed: Scope "r_basicprofile" is not authorized for your application
。
我改变了
SOCIAL_AUTH_LINKEDIN_OAUTH2_SCOPE
:
SOCIAL_AUTH_LINKEDIN_OAUTH2_SCOPE = ['openid']
现在我明白了
Authentication failed: Include valid openId scopes like profile, email.
根据官方LinkedIn文档,我也尝试过
SOCIAL_AUTH_LINKEDIN_OAUTH2_SCOPE = ['openid', 'profile', 'email']
但是我得到了
Authentication failed: Scope "r_liteprofile" is not authorized for your application
。再次。
有人有一个有效的 settings.py 配置示例吗?