我有一个简单的REST Web服务。我试图实现SimpleWebToken安全性,因此我创建了一个带有重写的CanreadToken和ReadToken的自定义SecurityTokenHandler,然后我在web.cofig文件中注册了它。
<system.identityModel>
<identityConfiguration>
<securityTokenHandlers>
<clear/>
<add type="TestTokens.SimpleWebTokenHandler, TestTokens"></add>
</securityTokenHandlers>
<audienceUris>
<clear/>
<add value="http://mytestrealm/"/>
</audienceUris>
</identityConfiguration>
我认为CanReadToken()总是被调用,以确保可以处理传入的请求。 为什么不叫它?
答案 0 :(得分:0)
IFAIK,只有在WIF管道需要时才会调用此安全处理程序集合。这可以是p.e.当您提供WS-Trust服务时。它不会在所有请求中调用。
答案 1 :(得分:0)
这是正确的,WIF管道可用于验证用户。看起来您正在寻找更多的WebAPI解决方案。我建议使用Jwt令牌,因为每个人似乎都倾向于这样。看看这里: http://www.cloudidentity.com/blog/2013/06/06/the-json-web-token-handler-for-net-4-5-reaches-ga/
我们提供了一些有助于验证WebAPI的jwt的功能。