【问题标题】:Django REST Framework - API Authentication - Authorize Apps instead of UsersDjango REST Framework - API 身份验证 - 授权应用程序而不是用户
【发布时间】:2020-04-23 19:27:06
【问题描述】:

作为 Django 新手,我想知道是否有一种“快速”和“优雅”的方式来替换 Django 为 API 身份验证创建访问令牌的默认模型?

我使用“django-rest-framework-simplejwt”之类的插件,默认情况下它们仅适用于用户模型。

重点是让用户创建应用,每个应用都有自己的API访问和刷新令牌!

谢谢。

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

    我终于开发出了自己的应用认证系统!

    1. 身份验证后端:应该处理应用身份验证。
    2. 中间件:验证 Bearer 令牌是否存在并检查它是否仍然有效,并将应用程序设置为请求,因此可以从“request.app”访问“应用程序”(就像 request.user 一样)。李>
    3. 装饰器:在视图之前执行之前的中间件。

    这是视图外观的示例。

    @method_decorator([require_POST, AuthorizeTokensAndSetApp], name='dispatch')
    class PaymentBillCreateView(APIView):
        authentication_classes = [MyTokenAuthentication]
        permission_classes = [UserIsAllowedToAccess, AppIsAllowedToAccess]
        renderer_classes = [JSONRenderer]
    

    【讨论】:

      猜你喜欢
      • 2013-05-03
      • 1970-01-01
      • 2018-07-04
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      相关资源
      最近更新 更多