SAML 登录协议和基于表单的身份验证

SAML SignIn Protocol and form-based authentication

我需要与 SAP 集成,他们发送以下 URL 以及用户名和密码身份验证。 当我访问这个 url 我重定向到 https://sts.xxxx/adfs/ls/?SAMLRequest=fVFbS8MwFP4rJe9t07oLDWuhrCgFlWFFwRfJmlMXSJOak8757007lPmgcB4OH%2Be7JRvkvRpYObqDfoD3EdAFdZWThtIlXa4yCGm23ocJiGW4hzYL04WgHazTlIqEBE9gURqdkzSiJKgRR6g1Oq6dh2iyCunCzyPN2FXGFvSFBJV3kJq7mXVwbkAWx%2Bgw8kF49GaOfom56DBWGJPg2tgW5nQ56bhCmFx2HFEe4QcpEcFOilujcezBNmCPsvVRBJxy4pOdeqWRzV1zMlrNDEeJTPMekLmWNeXdLfMd2GCNM61RpNhM12yuZC%2F4%2F9P5dxJSNOXu9ea52sQXOmfRgd17Yl3tjJLt51Sx5%2B5v3SRKZkSKsJtP2ahxgFZ2EoQvr5T52Frgzj%2BIsyOQuDib%2Fv7W4gs%3D&RelayState=oucqqvqvwzeoqzxboredvobeczosudqfexssqdr&SigAlg=http%3A%2F%2Fwww.w3.org%2F

需要登录认证如附件1, enter image description here

问题:如何在 .NET 编程中访问此服务?

您需要使用 SAMLRequest 和 SAMLResponse 令牌来遵循 SAML2 协议。

这里是 nice explanation:

SAML (or more specifically, SAML version 2.0) is what brings Single-Signon to SURFconext – being able to authenticate only once to your home university (or Identity Provider in SAML parlance) and subsequently login to many applications (or Service Providers) without having to type in a password again.

让我们来看看当有人想要登录为其客户之一(IDP)使用联合身份验证的服务提供商 (SP) 时会发生什么。举个例子,假设 SP 是 Google Apps,IDP 是一个名为 My University 的组织,Alice 是该组织的一名学生。 SAML协议消息的流程可以用下图来说明:

可以通过编程方式访问 ADFS 安全令牌服务 (STS)。这是一个使用 powershell https://blogs.msdn.microsoft.com/besidethepoint/2012/10/17/request-adfs-security-token-with-powershell/

的示例