我必须创建一种方法来保持从应用程序A到应用程序B的会话身份验证,但我不能使用:
- 单点登录
- POST 调用
而且,我们知道 GET 不是一个好的选择,但我需要使用它。所以,我认为使用“公钥”之类的东西,你对这种方法有什么看法?
我认为:
- 用户在应用程序 A 中进行身份验证。
- 进入应用程序A,有一个应用程序B的链接;用户点击此链接
- 应用程序 A 打开应用程序 B 页面发送“公钥”(数据库持久认证密钥?)
- 应用程序 B 验证此密钥并授权或不授权用户。
我必须创建一种方法来保持从应用程序A到应用程序B的会话身份验证,但我不能使用:
而且,我们知道 GET 不是一个好的选择,但我需要使用它。所以,我认为使用“公钥”之类的东西,你对这种方法有什么看法?
我认为:
在第 3 步中,不要考虑“公钥”,而是考虑“会话令牌”。具体来说,A 重定向到 B
http://b.application.com?token=123-3-2-1-3-2-2-1-2-32-3-5-2-4-5245
令牌应该是唯一且短暂的。
B 然后直接联系 A并询问会话令牌背后的身份:
http://a.application.com/userservice/getuser/123-3-2-1-3-2-2-1-2-32-3-5-2-4-5245
因为 B 直接联系 A,所以用户无法伪造无效令牌 - 随机令牌只是指向 A 上不存在的会话。