2011-05-02 66 views
1

我想验证由REST Web服务内部基于WIF的自定义STS创建的SAML令牌。不同的SAML令牌验证调用具体做什么?

有几个功能可以进行验证。一个是SecurityTokenHandlerCollection.ValidateToken()另一个是SamlSecurityTokenAuthenticator.ValidateToken()

不幸的是,这些类和函数的在线Microsoft MSDN帮助是毫无价值的,并没有描述这些函数在做什么。

什么是验证这些功能,他们是如何做到这一点?他们之间有什么不同?他们是否自动在Windows证书存储中查找证书以检查令牌的签名,并验证加密的凭证对象?因为我没有在任何地方传递证书名称。还是有其他手动操作我需要自己来验证令牌?

我认识一个返回ClaimsIdentityCollection和其他收益IAuthorizationPolicy对象的集合。但唯一的区别是?我不知道。

我可以在网上找到大量有关STS和索赔的信息,甚至验证索赔,这是我成功的,但我很难找到任何有关验证令牌本身的信息,以确保它是我创建的。

回答

2

在大多数情况下,您无需担心令牌验证详细信息。所有这些都由WIF照顾你。

但是,如果你真的想知道,最好的信息来源是维托里奥的书:http://www.amazon.com/Programming-Windows%C2%AE-Identity-Foundation-Dev/dp/0735627185

这里有一些细节:http://msdn.microsoft.com/en-us/library/ff359114.aspx

学习的另一个好办法就是通过看内置的扩展处理非SAML令牌(例如SWT)。下载示例here并查找REST服务。

+0

我有Vittorio的书,但找不到有关验证令牌的具体信息,ValidateToken()正在做什么,也没有看到对SamlSecurityTokenAuthenticator的引用。第93页有一些模糊的信息。 – BradleyH 2011-05-03 21:55:36

+0

在您提供的其他链接中,我必须确保用于创建令牌的证书是我信任的证书,方法是检查它的指纹或序列号。我已经阅读了很多关于这个主题的文章,并且只有一个我见过的地方可能给出了这个例子或描述。 – BradleyH 2011-05-03 21:59:04

+0

(我不习惯接受这些评论,抱歉。)这里是链接:http://www.leastprivilege.com/UsingTheNETAccessControlServiceWithGeneva.aspx – BradleyH 2011-05-03 21:59:36