在WebClient调用中传递ADFS令牌

时间:2013-08-06 16:01:28

标签: asp.net webclient wif adfs2.0

我正在使用ADFS 2.0和WIF对我的用户进行身份验证并将其授权给ASP.Net MVC 4应用程序WebAppA。 WebAppA使用WebClient.DownloadString(url)来调用另一个WebAppB,我想将委派用户的凭据传递给WebAppB,以便为用户检索自定义内容。

我看到一些Web应用程序使用CreateChannelActingAs调用WCF服务的示例,但这不是我的情况。

WebAppA是否有办法为WebAppB检索ActAs(或OnBehalfOf?)令牌并将其与WebClient一起传递给WebAppB?我已经看到了一些可能性,包括“bearer”Authorization标头并在标头中插入一个cookie,但我不太明白这些例子,似乎缺少某些内容,比如如何使用WebAppA中的BootstrapContext来检索和序列化WebAppB的令牌。

感谢您的帮助!

- 标记

1 个答案:

答案 0 :(得分:0)

是的,您可以让WebAppA调用STS并为WebAppB请求 ActAs 令牌,使用原始令牌(用于WebAppA的令牌)作为输入,但这通常用于Web服务(这可能是矫枉过正的)。看起来你只是从WebAppB获取一个页面。为什么不使用基本身份验证,SSL并传递发出请求的用户的参数? (实质上使用可信子系统方法)。