微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django Rest Framework 和 React Linkedin 社会认证 OAuth2Error

如何解决Django Rest Framework 和 React Linkedin 社会认证 OAuth2Error

我正在使用 Django Rest Framework 作为后端和 React 作为前端构建 Web 应用程序。

使用以下库

  • Django==3.1.5
  • djangorestframework==3.12.2
  • dj-rest-auth==2.1.3
  • django-allauth==0.44.0

我正在尝试实施 Linkedin 身份验证,但如上所述出现以下错误

OAuth2Error at /api/v1/appname/linkedin/
Error retrieving access token: b'{"error":"invalid_request","error_description":"Unable to retrieve access token: appid/redirect uri/code verifier does not match authorization code. Or authorization code expired. Or external member binding exists"}'

django rest 框架中的后端代码

class LinkedInLoginView(CustomLoginView):
    """
    LinkedIn login
    """
    adapter_class = LinkedInOAuth2Adapter
    callback_url = "CALL_BACK_URL"
    client_class = oauth2client

和前端代码

<LinkedIn
    clientId="CLIENT_ID"
    callback={callbackLinkedIn}
    scope={["r_liteprofile","r_emailaddress"]}
    text={rendertext()}
    className='ant-btn LinkdinIcon ant-btn-link'
    redirect_uri="CALL_BACK_URL"
    render={renderProps => (
    <Button type="link" className="LinkdinIcon" onClick={renderProps.onClick}>
<LinkdinIcon /></Button>)}

CALL_BACK_URL添加到linkedin 开发者的重定向网址下。

前端 api 将生成 code 并将其传递给后端 api,DRF 使用 code生成 access_token调用linkedin 配置文件 api(内部)

我们在不同的域中运行后端,而前端在不同的域中运行。

有人可以帮我理解什么是后端CALL_BACK_URL,什么是前端吗?

如果有人可以分享一些参考链接代码,我们将不胜感激。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。