我们有一个提供SPA的.Net Web API(v2),我打算使用OAuth 2保护该SPA。
在OWIN Startup.Configuration()中,将IAppBuilder.UseOAuthAuthorizationServer中的Provider设置为OAuthAuthorizationServerProvider的替代。我已经成功提供了刷新令牌。
我想确保实施类似提供程序的人员不会欺骗这些令牌。我所做的任何搜索都没有给我任何答案。
OAuthAuthorizationServerProvider是否确保接收到的刷新令牌是它们自己发行的刷新令牌,而不是黑客机器上的任何类似代码?
我自己的实验似乎证实了这一点-我尝试了在两台不同计算机上运行的同一代码,并从另一台计算机上获取了未过期的刷新令牌(有效期为24小时),并且得到了我希望的401。但是,以防万一我错误地说服了自己,我想向那些比.NET Web API了解OAuth更了解的人提供一些保证和/或建议。
谢谢,
保罗
最佳答案
我敢肯定,我最终在OAuthAuthorizationServerProvider的文档中找到了明确的答案,但现在找不到了。
但是,该领域的专家Dominick Baier说:
访问令牌是使用机器密钥保护的。保护刷新令牌取决于您。您需要在web.config中手动设置machineKey元素(否则,密钥将自动生成,并且可能会随时间变化)。
他的评论来自对post on implementing OAuthAuthorizationServerProvider的回复。
关于asp.net-web-api - 服务器专有的OAuthAuthorizationServerProvider/AuthenticationTokenProvider票证?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28112507/