我肯定我漏掉了什么,所以希望这里的人能帮我填一下。
我正在查看OAuth 4.5WebAPI中的.NET 2.0实现(我猜是第2版),我已经实现了一个非常简单的演示,其中有一个控制台应用程序调用了一些基本操作。我从"/Token“端点获得一个令牌,并将其作为授权头中的”承载“令牌传回。一切都很好。
然而,我错过的是,这是如何不容易受到MITM,重播或其他攻击?如果我只是简单地传递凭据(以令牌的形式),并且它们一直都是相同的凭据,那么围绕它的是什么样的安全性来确保没有人盗取我的令牌并冒充我呢?
诚然,我也在使用SSL,但这是唯一围绕此构建的安全性吗?也许我也应该用一种现在的方式,或者一张时间戳支票?如果是这样的话,如何在Web中做到这一点?
无论如何,我相信这里有一个非常简单的解释,所以我会感谢你的信息。
还注意到,我在两个VisualStudio2013Web应用程序项目中运行这两个服务器,它们在不同的端口上运行,与2013年的解决方案不同。我不确定这是否重要,但我想我应该提一下。
发布于 2014-10-08 19:18:59
OAuth 2.0承载令牌的安全性完全依赖于SSL/TLS,没有内部保护或承载令牌。如果你有权杖,你就是主人。在许多在OAuth 2.0上进行转发的API提供者中,他们使用了大胆的,客户端开发人员应该在传输期间安全地存储和保护令牌。
您可以阅读Eran的这篇有趣的文章,他曾经与规范OAuth 2.0的社区合作,但我相信他是因为意见冲突而离开的。查看他的帖子OAuth承载者标记是个糟糕的主意,你就可以读到这个也贴。
但是在最后,它正在成为标准的方式,您必须通过https传输它并安全地存储它。
https://stackoverflow.com/questions/26264325
复制相似问题