我相信我在这里错过了什么,希望有人能填补一下。
我正在查看.NET 4.5 Web API(版本2?)中的OAuth 2.0实现,并实现了一个非常简单的演示文稿,其中我有一个控制台应用程序调用一些基本操作。 我从“/ Token”端点获得一个令牌,并将其作为“承载者”令牌传递回Authorization标头。 这一切都很好。
然而,我想知道的是,这样不容易受到MITM,重放或其他攻击的影响吗? 如果我只是简单地传递凭据(以令牌形式),并且它们一直是相同的凭据,那么围绕此所做的安全性是什么,以确保没有人仅仅窃取了我的令牌并正在冒充我?
诚然,我也使用了SSL,但这是唯一围绕此构建的安全性吗? 或许我也应该使用某种nonce,或者时间戳检查? 如果是这样,如何在Web API中执行?
无论如何,我相信这里有一个非常简单的解释,所以我会感激这些信息。
另请注意,我正在两个Visual Studio 2013 Web应用程序项目中运行两个服务器,它们位于不同的VS 2013解决方案中,这些解决方案在不同的端口上运行。 我不确定这是否有关系,但我想提一下。
我正在查看.NET 4.5 Web API(版本2?)中的OAuth 2.0实现,并实现了一个非常简单的演示文稿,其中我有一个控制台应用程序调用一些基本操作。 我从“/ Token”端点获得一个令牌,并将其作为“承载者”令牌传递回Authorization标头。 这一切都很好。
然而,我想知道的是,这样不容易受到MITM,重放或其他攻击的影响吗? 如果我只是简单地传递凭据(以令牌形式),并且它们一直是相同的凭据,那么围绕此所做的安全性是什么,以确保没有人仅仅窃取了我的令牌并正在冒充我?
诚然,我也使用了SSL,但这是唯一围绕此构建的安全性吗? 或许我也应该使用某种nonce,或者时间戳检查? 如果是这样,如何在Web API中执行?
无论如何,我相信这里有一个非常简单的解释,所以我会感激这些信息。
另请注意,我正在两个Visual Studio 2013 Web应用程序项目中运行两个服务器,它们位于不同的VS 2013解决方案中,这些解决方案在不同的端口上运行。 我不确定这是否有关系,但我想提一下。