是否可以将其他自定义参数传递给通过Windows Azure ACS公开的IdP。
像通过查询字符串执行的其他操作一样?
答案 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))
{
....