我有一个IDP,我需要将我的应用程序与我集成。过去,我能够使用VS 2012中的Identity and Access工具扩展轻松设置IDP。我已经设置了ACS和其他使用Windows Federation的IDP。但是现在我有一个新的IDP,但它们没有为我提供该工具所需的联合元数据xml文件。我想弄清楚如何设置它。还有一个复杂程度。我需要创建一个" AuthRequest"。 WIF(Windows Identity Foundation)是否支持此操作或我是否必须手动执行此操作?这是我的方法请告诉我是否可以使用任何其他方法:
生成AuthRequest:在Auth Request中指定服务url(post post url),签署xml文档(使用公钥提供IDP),base 64编码并对URL执行发布idp发送给我(通过SAMLRequest键值)。
一旦用户登录IDP,saml响应将被发送到我在AuthRequest中指定的URL,然后我将采取saml响应(发布通过" SAMLResponse"键/值) ,base64对其进行解码,验证数字签名(它们为我提供了公钥),并通过XPATH遍历XML数据以检索NameID节点值。对于这部分,我正在考虑设置一个自定义的Http Handler。
获取值后,请检查我的数据库以对用户进行身份验证,使用表单身份验证创建票证。现在用户已通过身份验证。
你能建议一个更好的方法吗?
谢谢!