2016-10-11 50 views
0

我有两个单独的webapps在不同的机器上运行。他们都需要用户进行身份验证才能访问网站的某些部分。我希望能够使站点A上的链接进入站点B并自动登录用户。 SSO不是一种选择。我不想以跨环境/机器的方式来配置它。从另一个网站登录到网站而不使用数据库

那么我最终会得到logontoken机制。站点A在数据库中写入令牌(连同其他信息),并将此令牌传递给站点B.站点B查找令牌,如果有效,则使用附加数据登录该用户。

我现在正在wonedering是否存在一种机制来完成此操作,但不需要数据库。例如,您可以将http请求中的用户名和密码发送到网站。如果我们通过在url中添加查询参数来实现这一点,那么即使是https环境也是不安全的,因为可以在各个网络点记录url。我现在想着用凭证做一个https帖子。我是否正确地假设请求正文(发布数据)不能在两个站点之间的https连接中被嗅探?

如果这仍然不安全,可以采取哪些措施使其安全?使用MD5对其进行加密,然后用仅由两个站点知道的密钥解密(两个站点都在我的控制之下)?

回答

2

我认为你应该使用JWT,这是一个带有签名和可选加密的JSON对象。它是自给自足的:只需分享一个秘密或公共密钥,您就可以在不使用第三方系统的情况下传递身份。