【发布时间】:2026-01-17 23:30:02
【问题描述】:
有没有办法将额外的自定义参数传递给通过 Windows Azure ACS 公开的 IdP。
想通过查询字符串执行一些额外的操作吗?
【问题讨论】:
有没有办法将额外的自定义参数传递给通过 Windows Azure ACS 公开的 IdP。
想通过查询字符串执行一些额外的操作吗?
【问题讨论】:
是的。当您调用 Home Realm Discovery URL 时,您可以传递参数“context”。然后,它返回的 IDP url 将包含上下文。
所以 HRD URL 是这样的
https://mynamespace.accesscontrol.windows.net/v2/metadata/identityProviders.js?
realm=myrealm&protocol=wsfederation&version=1.0&context=foo
当来自 ACS 的帖子返回到我们的依赖方应用程序时,我们在一些具有声明感知能力的 Web 应用程序中使用它来“记住”某些上下文。有关 HRD URL 的更多信息,请查看“Home Realm Discovery Metadata Feed”部分中的here。
哦,当您在 RP 应用程序中从 ACS 取回帖子时,这里有一个 sn-p 提取上下文:
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))
{
....
【讨论】: