Django微服务中的分布式或中央授权

时间:2018-01-16 03:33:30

标签: django authorization jwt microservices

我正在构建一个基于Django休息框架的服务,它具有一些复杂的权限。到目前为止,我的微服务堆栈看起来像这样:

  • / auth / JWT身份验证服务
  • / users / - 添加用户,将其添加到不同的服务
  • / new-service / - 需要授权

用户数据库由authusers共享,只读和写。 new-service无法访问此数据库,但挑战包括:

  • 用户可以位于特定于该服务的多个组中
  • 用户可以对其中一个组中的一个项目进行只读访问
  • 可以允许用户创建有权访问其中一个组的新用户
  • 用户在服务中有不同的角色,但我们仍然需要允许访问,如列出的只读权限

组不是用来管理用户,而是用来提供对事物的访问。与GitLab一样,组可以访问GitLab项目。

如果我将所有权限都放在users服务中,那么我的新服务必须与该服务进行对话,它会变得很健谈。似乎必须存在数据鸿沟,但我不确定究竟应该把它放在哪里。相反,django-rest-framework服务是否应该在其db中具有用户帐户的影子条目?建议表示赞赏。我觉得我的日子很慢。

0 个答案:

没有答案