如何在2个服务器之间进行通用认证--Rails和Django

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在2个服务器之间进行通用认证--Rails和Django相关的知识,希望对你有一定的参考价值。

我正在开发的服务包括chrome扩展和Web应用程序。为此,我正在尝试创建2台服务器:

  • Web应用程序服务器(由Rails构建)
  • API服务器(由Django构建)接收来自chrome扩展和处理用户数据的请求。

那些应用使用相同的数据库,相同的用户信息

我的问题是如何验证用户 - 在Rails应用程序中,用户可以通过表单注册和登录。但在API服务器中,如何验证用户?

一种解决方案可能是JWT身份验证,用户从Rails服务器获取JWT令牌并将令牌发送到Django服务器,Django服务器通过JWT授权进行身份验证。

这是最佳做法 - 或者只是发送用户名和密码比这更好吗?

谢谢

答案

老实说,我认为尝试将这两个网络平台结合起来不是最好的主意。您可以从类似的问题here中读取反馈,但基本上尝试将rails与Django结合起来将导致您陷入严重的兔子洞,Rails和Django都将期待处理身份验证。您可以使用不同的,更简单的Python框架,但我认为您可以使用单个Rails应用程序实现相同的总体目标。

如果项目规范需要Django,那么您可以尝试使用用户名和密码的后一个选项来进行数据库读取,然后手动创建JWT功能。我认为使用Django提供的许多内置甚至开源解决方案真的很难,这就是为什么Django可能有点过分。

以上是关于如何在2个服务器之间进行通用认证--Rails和Django的主要内容,如果未能解决你的问题,请参考以下文章

微服务的用户认证与授权杂谈(下)

Radius报文解析(转)

微服务认证架构

配置Gitlab使用LDAP认证

在 2 个 rails 应用程序之间发布表单,包括文件

Ruby on Rails 5.1 和 Vue.js 2.4.x – 使用 Karma、Jasmine 进行测试 – 如何安装?