SSO元数据与C#MVC

SSO元数据与C#MVC,c#,model-view-controller,single-sign-on,saml,C#,Model View Controller,Single Sign On,Saml,我是SSO新手,正在尝试让它在我的组织和另一家公司之间工作。我的理解是,我将凭证数据发布到他们暴露在互联网上的SSO服务器,如果成功,他们将使用有关用户的数据将数据发布回我的C#MVC web应用程序 然而,另一个组织要求我提供一个SAML xml元数据文件。然后他返回了自己的元数据文件 我不确定他为什么要一份文件,还提供了自己的。我该如何处理MVC web应用程序中的元数据文件?他们是否试图在我们的广告服务器之间建立信任 任何帮助都将不胜感激 谢谢 Yuriy他们正在尝试建立一个基于SAML2

我是SSO新手,正在尝试让它在我的组织和另一家公司之间工作。我的理解是,我将凭证数据发布到他们暴露在互联网上的SSO服务器,如果成功,他们将使用有关用户的数据将数据发布回我的C#MVC web应用程序

然而,另一个组织要求我提供一个SAML xml元数据文件。然后他返回了自己的元数据文件

我不确定他为什么要一份文件,还提供了自己的。我该如何处理MVC web应用程序中的元数据文件?他们是否试图在我们的广告服务器之间建立信任

任何帮助都将不胜感激

谢谢


Yuriy

他们正在尝试建立一个基于SAML2的单点登录解决方案。SAML2基本上是通过在URL中使用编码的AuthnRequest将用户重定向到Idp来工作的。用户在idp中输入凭据(您的应用程序将永远看不到实际凭据),然后向您的应用程序发布编码的SAML2响应。验证是否正确是非常重要的。您需要首先对XML签名进行正确的验证(包括检查大多数ppl忘记的引用),然后验证断言中的所有条件*

元数据是一种描述各方希望将消息发送到哪些URL、消息应如何编码(使用哪些绑定)、用于对消息签名的证书等的方法。基本上是所需配置参数的标准化摘要

不要独自做这件事。这比预期的要复杂得多。我已经努力学习过了。为SAML2使用现成的库。我的名为Kentor.AuthServices,可在GitHub/Nuget上获得,还有其他开源和商业选项

*)这有一些变化,我在这里描述的是最常见的流程,通过HTTP重定向绑定执行AuthnRequest,然后通过HTTP POST绑定执行简单的SamlResponse