这是一个非常概念性的问题,但我也对实施细节感兴趣。
我们说我有一个用Node.js编写的API。
客户端(主要是iOS应用)通过OAuth进行身份验证,然后使用会话令牌授权每个后续请求。
我现在想从应用程序指向基于浏览器的Web应用程序并接管经过身份验证的会话。
当然,这应该是高度安全的,并且在理论意义上不应该是易受伤害的,但在实施明智的思考中应该尽可能的。
我必须以某种方式确保请求来自同一设备和用户等。
我想过生成一个客户端必须发送的短有效令牌,但考虑到受TLS保护的API,这似乎并不安全。
答案 0 :(得分:0)
您希望比OAuth更安全。
从OAuth的角度来看,任何拥有令牌的人都有权代表用户行事。您可能希望包含二级秘密或验证IP,但我怀疑它在实践中会对您有所帮助:
如果您所在的平台(例如iOS)没有受到损害,则OAuth令牌将足以确认用户的身份。如果平台被泄露,那么应用程序可以设置的任何秘密也可以由假定的攻击者提取。