【问题标题】:Django Oauth2 Toolkit read access token from request body not headersDjango Oauth2 Toolkit 从请求正文而不是标头读取访问令牌
【发布时间】:2017-10-27 10:28:07
【问题描述】:

我已经使用 Django Oauth Toolkit 设置了一个 OAuth2 提供程序,它工作正常。问题是向我的 API 发出请求的客户端没有在标头中传递访问令牌(没有“AUTHORIZATION:BEARER XXXXXXX”)。相反,访问令牌是在 JSON 数据中传递的。

如何更改工具包的行为以从数据中读取访问令牌?

【问题讨论】:

    标签: django oauth


    【解决方案1】:

    我找到了一种通过编写自己的 Django 中间件来满足 OAuth 工具包要求的方法。

    import json
    
    
    class TokenMiddlewareFix(object):
    
        def __init__(self, get_response):
            self.get_response = get_response
    
        def __call__(self, request):
            try:
                body = json.loads(request.body)
                token = body.get("accessToken", None)
                if token is not None:
                    request.META["HTTP_AUTHORIZATION"] = "Bearer {}".format(token)
            except ValueError:
                pass
            response = self.get_response(request)
            return response
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-04
      • 1970-01-01
      • 2016-07-22
      • 1970-01-01
      • 2018-06-24
      • 2016-11-08
      • 2015-06-10
      • 2020-05-25
      相关资源
      最近更新 更多