通过查询字符串将自定义参数传递给IdP

时间:2014-02-05 15:49:57

标签: security azure saml

是否可以将其他自定义参数传递给通过Windows Azure ACS公开的IdP。

像通过查询字符串执行的其他操作一样?

1 个答案:

答案 0 :(得分:0)

是。当您调用Home Realm Discovery URL时,您可以传递参数“context”。它返回的IDP网址将包含上下文。

所以HRD URL就是这样的

https://mynamespace.accesscontrol.windows.net/v2/metadata/identityProviders.js?   
   realm=myrealm&protocol=wsfederation&version=1.0&context=foo

我们在一些声明感知的Web应用程序中使用此功能,以便在ACS的帖子返回到我们的依赖方应用程序时“记住”某些上下文。有关HRD URL的更多信息,请参阅“Home Realm Discovery Metadata Feed”部分中的here

哦,这是一个片段,当你在RP应用程序中从ACS获回帖子时提取上下文:

if (Request.Form["wresult"] != null)
{
    var message = WSFederationMessage.CreateFromNameValueCollection(
        FederationMessage.GetBaseUrl(ControllerContext.HttpContext.Request.Url),      
        ControllerContext.HttpContext.Request.Form) as SignInResponseMessage;
    if (null != message && !string.IsNullOrWhiteSpace(message.Context))
    {
        ....