【问题标题】:Django Microservices authenticationDjango 微服务认证
【发布时间】:2020-12-14 12:56:46
【问题描述】:

我在 django 中阅读了有关微服务的信息,并在微服务中了解到我们将小型服务分开保存,它们可以单独运行。如果我对这个概念没有错,我将如何验证使用来自一个数据库的用户的 JWT 令牌以在第二个微服务中使用它? ?

【问题讨论】:

    标签: django microservices django-database


    【解决方案1】:

    在典型的 JWT 概念中,您有身份验证服务器(AC)和多个资源服务器(您的域 µservices),流程如下所示:

    • 客户端(又名 clientA,例如前端)向 AC 发送请求以获取 jwt 令牌(例如 POST 到 /authenticate,其中包含用户名和密码)
    • 当 clientA 被验证时 AC 返回 jwt 令牌
    • clientA 向您的 µservice(又名 µserviceA)上的某些资源发送请求,并在标头中使用 jwt 令牌(“Authorization: Bearer ...”)
    • µserviceA 向 AC 发送请求以确认令牌有效,如果有效, µserviceA 可以接受来自您的客户的请求并处理它

    您的 clientA 也可能是另一个 µservice。您的 µserviceA 从 jwt 令牌(解码后)知道用户的角色,并且可以在角色不合适时简单地阻止请求。

    【讨论】:

      猜你喜欢
      • 2015-09-11
      • 2019-01-03
      • 2019-05-27
      • 2019-01-07
      • 2015-06-21
      • 2019-07-29
      • 2016-07-17
      • 1970-01-01
      • 2015-07-24
      相关资源
      最近更新 更多