Asp.Net Web Api:用令牌保护?

时间:2013-04-05 13:49:35

标签: asp.net-web-api security token jwt

我想用令牌保护asp.net web api服务。现在我知道你通常会实现一个STS服务器,但我不想这样做,所以我的其他选择是什么。

我在考虑让控制器不受保护,客户端可以调用它来传递用户名和密码,然后返回一个令牌,这个令牌随后将用于并且需要调用将受保护的服务上的其他控制器。 / p>

因此,这会使用DelegatingHandler与AuthorizeAttribute提出一些问题。上面的选项必须是authorizeAttribute,因为我需要保护控制器不受保护,以便客户端调用身份验证。我不知道如何使用委托处理程序,从技术上保护整个服务,而不是让1个控制器不受保护。

我看到的另一个选项是提供另一个服务,允许客户端进行身份验证并获取令牌,然后我可以使用委托处理程序锁定我的第二个服务..

让我们想象一下,我走下STS路由,我仍然需要提供某种方式,客户端可以联系“OPEN”服务/控制器,然后控制STS来获取令牌。

所以考虑到这一点,另一种服务是我最好的选择

真正感谢任何帮助或反馈。

1 个答案:

答案 0 :(得分:2)

我过去使用Hawk(https://github.com/hueniverse/hawk)实现了类似的场景。我在GitHub中实现了Hawk in .NET,它使用消息处理程序与Web API集成。

https://github.com/pcibraro/hawknet

我在项目中实施的方式。客户端应用程序首先使用基本身份验证和真实用户名/密码(使用https)调用web api。 web api对用户进行身份验证,并将一组hawk凭据返回给客户端(它将等同于令牌)。其余的电话使用协商的鹰派证书以鹰派保护。这非常简单,不涉及任何STS。