【问题标题】:Passing URL parameters from Azure ACS to my custom Identity Provider?将 URL 参数从 Azure ACS 传递到我的自定义身份提供程序?
【发布时间】:2013-02-12 09:15:10
【问题描述】:

我们正在开发一个自定义身份提供程序 (STS) 来验证我们的应用程序。在这个项目中,我们使用的是 Azure 访问控制服务 2.0,我们的身份提供者是一个 wsfederation。

因此,在启动项目时,azure ACS 有一个名为 wctx 的 url 参数,该参数用于传递任何内容,并且 ACS 在 de ACS 重定向到身份提供程序时保留该参数,但是现在该参数的值在登录页面是打开的,所以我们无法阅读。

我想传递一种文化以及谁在调用登录页面。

有人有什么想法吗?

【问题讨论】:

    标签: azure wif identity acs


    【解决方案1】:

    您的身份提供者不应使用wctx 参数。此参数的目的是让您的 RP 存储它需要的任何数据,当 ACS 发送 WS-Federation 登录响应时,这些数据将与令牌一起返回给它。如果您想向身份提供者发送消息,最简单的方法是托管您自己的 HRD 页面,如this MSDN page 的“选项 2:托管自定义登录页面”部分。下载您命名空间中的链接示例作为起点,然后修改以下代码:

        // Sets a cookie to remember the chosen identity provider and navigates to it.
        function IdentityProviderButtonClicked() {
            SetCookie(this.getAttribute("name"));
    
            // Add any extra query parameters you want before redirecting.
            window.location = this.getAttribute("id") + "&extraParameter=value";
            return false;
        }
    

    您想要传递的任何额外参数都可以通过这种方式添加,并将其提供给您的身份提供者。

    【讨论】:

    • 感谢 Oren 的回答。
    猜你喜欢
    • 2013-05-01
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    相关资源
    最近更新 更多