使用SAML SSO对现有C#web应用进行身份验证的步骤

使用SAML SSO对现有C#web应用进行身份验证的步骤,c#,azure-active-directory,C#,Azure Active Directory,我在网上看了多篇文章,但没有什么有用的,有人能帮我验证使用SAML SSO到我现有的C#web应用程序的用户的步骤吗?。net不提供SAML身份验证的本机库。您需要利用第三方SAML库。我推荐。 根据项目类型检查相应的指南 我以APS.NET MVC为例: 1、安装“”软件包 2、参考配置web.config文件 以下是sustainsys.saml2部分的示例: <sustainsys.saml2 entityId="https://www.contoso.org/checkreso

我在网上看了多篇文章,但没有什么有用的,有人能帮我验证使用SAML SSO到我现有的C#web应用程序的用户的步骤吗?

。net不提供SAML身份验证的本机库。您需要利用第三方SAML库。我推荐。 根据项目类型检查相应的指南

我以APS.NET MVC为例:

1、安装“”软件包

2、参考配置web.config文件

以下是
sustainsys.saml2
部分的示例:

  <sustainsys.saml2 entityId="https://www.contoso.org/checkresourceapp[This is your application URI in Azure AD]"
                    returnUrl="http://localhost:54664/[this is the reply url of your app in AAD]"

                    >
    <nameIdPolicy allowCreate="true" format="Persistent"/>

    <identityProviders>
      <add entityId="https://sts.windows.net/<YourADTenantID>/"
          metadataLocation="https://login.microsoftonline.com/<YourADTenantID>/FederationMetadata/2007-06/FederationMetadata.xml"
          loadMetadata = "true"
          allowUnsolicitedAuthnResponse="true"
          signOnUrl="https://login.microsoftonline.com/<YourADTenantID>"
          binding="HttpRedirect">

      </add>

    </identityProviders>

    <federations>
      <add metadataLocation="https://login.microsoftonline.com/<YourADTenantID>/FederationMetadata/2007-06/FederationMetadata.xml" allowUnsolicitedAuthnResponse = "false" />
    </federations>
  </sustainsys.saml2>


3、将“Authorize”属性添加到要启用身份验证的页面

目前我只有以下信息可用:->SAML单一登录服务URL:•SAML实体ID:•注销URL:感谢您的回复。我尝试了此操作,但出现以下错误:HTTP错误500.19-内部服务器错误无法访问请求的页面,因为该页面的相关配置数据无效。至少,问题似乎是由配置文件的格式错误引起的。你能发布完整的配置吗?记住删除私人信息。你是对的,我在配置文件中修复了这个问题,但是现在我得到了这个错误:“/”应用程序中的服务器错误。IDX20807:无法从以下位置检索文档:'[PII已隐藏。有关详细信息,请参阅'.HttpResponseMessage:'[PII已隐藏。有关详细信息,请参阅'.HttpResponseMessage.Content:'[PII是隐藏的。有关更多详细信息,请参阅。。我假设此url用于元数据位置。请注意:a)您的login.microsoftonline.com url格式不正确。它包含特殊字符,如“我删除了注释,谢谢。我很少引用OpenID,一旦我删除此内容,我会收到错误:”HTTP错误401.0-未经授权您没有查看此目录或页面的权限。sustain sys saml“我是否遗漏了什么?我是否应该按照与此处相同的步骤进行操作: