【问题标题】:Visual Studio 2015 Azure ADFSVisual Studio 2015 Azure ADFS
【发布时间】:2016-12-18 09:18:40
【问题描述】:

我在 Azure 上有一个 Web 表单应用程序。它已在 Visual Studio 2015 中开发。框架 4.6。 我的客户想要使用 ADFS SSO 访问此应用程序。他们为我提供了他们的

  • FederationMetaData.xml,
  • 发行者网址,
  • 单点登录服务 URL。
  • 单点登出服务网址
  • 和 Saml 令牌证书。 我很高兴目前只有一个租户解决方案。

到目前为止,我看到的所有 Web 示例都是使用 Visual Studio 2013 或更早版本构建的。 Microsoft 参考页没有过时,让我误入歧途。 Microsoft 支持向我发送了来自 VS 2013 的示例和代码。 有没有人使用 VS 2015 使用 Web 表单应用程序做到这一点?

有没有人知道有关 Web.config 设置的详细信息或有关如何引用 FederationMetaData.xml 以及如何处理 Saml 证书。

是否可以在 VS 2015 中激活 VS 2013 中的身份验证向导?

【问题讨论】:

    标签: azure visual-studio-2015 single-sign-on adfs


    【解决方案1】:

    http://www.cloudidentity.com/blog/2014/04/29/use-the-owin-security-components-in-asp-net-to-implement-web-sign-on-with-adfs/

    顺便说一下,这里 2013 年的说明也适用于 2015 年。 http://www.cloudidentity.com/blog/2014/02/12/use-the-on-premises-organizational-authentication-option-adfs-with-asp-net-in-visual-studio-2013/。您选择本地并将元数据路径提供给您的 AD FS 服务器。

    使用 VS2015 创建应用时,它使用 OWIN,而不是使用 WIF。

    【讨论】:

      【解决方案2】:

      同意@maweeras。

      VS 2013 中的“身份和访问工具”已弃用,您需要从“更改身份验证”下的“本地”选项中驱动它。

      WIF 不再使用,因此不需要 web.config 等。

      请注意,您需要 OWIN WS-Federation 而不是 OWIN OpenID Connect。

      但是,ADFS 仍然支持 WS-Federation,客户端仍然支持 WIF。

      参考:Integrating a web app with Azure AD using WS-Federation

      【讨论】:

      • 感谢 maweeras 和 nzpcmad。我已经设法实现了它,但并非没有吸取一些教训。
      【解决方案3】:

      感谢 maweeras 和 nzpcmad 抽出时间回复。它确实有帮助。

      我已经设法实现了它,但并非没有吸取一些教训。 - 解决方案需要是一个网络应用程序而不是一个网站。我想知道是否有人通过网站实现了它。 - 我需要安装 Owin 包。一旦出现验证向导按钮,就很容易了 - 我的客户不需要向我发送所有的 FederationmetaData.xml、Issuer Url、SSOn 服务、SSout 服务或证书。这让我很困惑。我正在寻找放置它们的地方。 我所需要的只是我的应用程序可以在其中查找他们的 FederationMetaData.xml 的域,因为其中包含所有内容。

      了解这一切是如何工作的很有趣,但实际上所有事情都是在后台处理的。

      【讨论】:

      • 您能解释一下您是如何实现这一目标的吗?因为我必须对托管在某些 IIS 中的 Web 服务器执行一些类似的代码,以了解 Azure AD 用户身份验证。 ADFS 设置已完成。我阅读了许多文章,其中提到 WIF 已被弃用,取而代之的是我们需要 OWIN。让我知道这是正确的方法还是我们仍然可以使用 WIF?
      • WIF 已折旧。为 VS2015 安装 Owin 软件包后,如果您使用的是旧版应用程序,我发现最好的方法是创建一个新的 Web 应用程序(不是网站),单击更改身份验证按钮并按照向导进行操作。然后将所有遗留代码添加到新应用程序中。我不确定如何改造现有的 Web 应用程序。请参阅上面来自 maweeras 的链接。