Azure ACS - 中继方应用程序 - 带参数的 ReturnURL?

标签 azure acs accesscontrolservice

我们正在构建一个使用 ACS 的应用程序。我们的使用场景如下:

  1. 用户通过电子邮件收到类似 https://our.application.com/?requestId=123456 的网址并点击它
  2. 用户被重定向到 LiveID 登录屏幕
  3. 登录后,ACS 将用户转发给我们,但转发给 https://our.application.com/

不幸的是,“访问控制服务门户”上“中继方”中的“返回 URL”设置似乎只是一个固定字符串。有没有办法将原始请求传播给它?如果没有,您建议采取什么解决方法?

最佳答案

答案实际上是肯定的,但并非没有一点工作。在步骤 3 中,您的返回 URL 将被默认 ACS 登录页面在 ACS RP 中配置的 URL 覆盖。这是 ACS 默认为您托管的页面,您可以在其中选择身份提供商。 (您可能并不总是在浏览器中看到它;如果您只配置了一个 IDP,它会自动重定向。)

您可以告诉 ACS 使用您自己托管的自定义登录页面,以便保存此原始 URL。您可以从 ACS 门户下载默认的 ACS 登录页面作为工作内容。

棘手的部分来自于这样一个事实:使用不同协议(protocol)的不同身份提供商使用不同的机制来保存这个原始 URL。

可以在此处找到有关此问题的一些进一步讨论和代码示例,并且您可能会在网络上的其他地方找到此问题的进一步解决方案:

How do I get the return URL working properly again after downloading a login page from Azure ACS?

关于Azure ACS - 中继方应用程序 - 带参数的 ReturnURL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11779674/

相关文章:

azure - 如何在 worker 角色上设置计时器?

azure - 将动态内容设置为管道参数的默认值?

c# - 使用 Azure 或 Microsoft Identity 中的角色进行授权

azure - 用于备份 Windows Azure ACS 命名空间的工具

session - AZURE ACS 将身份与多个登录关联起来

Python - 使用 win32service 打开服务即使以管理员身份也会返回“访问被拒绝”

ios - 将 Azure AD 访问控制集成到 iOS 应用程序的社交身份验证

azure - 如何执行从 Azure 应用服务到本地环境中托管的 SMTP 服务器的连接测试?