我们希望在两个web应用程序之间实现一个简单的经过身份验证的HTTP集成,虽然像JWT这样的东西应该可以工作,但它似乎太过分了。
用例:
应用程序B的会话cookie与SameSite=None一起持久化,以便在同一个浏览器中捕获现有会话。
应用程序A和B的服务器可以假设在单独的受限环境中,因此所有通信必须通过浏览器。
我想避免交换证书,一个简单的基于文本的共享或不对称秘密将是理想的,如果足够的话。
我们已经有了另一个集成,发送方发送以下内容:
接收方检查发送的散列是否与接收方计算的散列匹配,因此实质上是一个带有时间戳的HMAC,以防止存储的重复(但是dupes没有受到保护,在这种情况下这是很好的)。我认为在接收端增加一个缓存的more可以防止欺骗,而忽略CSRF,因为我们正在验证每个请求,但这似乎是一个已经被更有资格的人解决的问题,我应该使用现有的标准或实现。
有什么建议吗?我们正在使用.NET,以防影响库建议。
发布于 2021-10-19 12:19:57
经过进一步的研究,TOTP (基于时间的一次性密码)是我们要做的事情。它满足了我们所有的需求,只需要在两端配置一个共享的秘密,并且有大量的现有库可供使用。
https://stackoverflow.com/questions/69555123
复制相似问题