我不断收到“AADSTS75005:请求不是有效的Saml2协议消息”。当我尝试将AuthnRequest发送到Azure AD/idp时。将AuthnRequest更正为Azure AD/idp
在压缩之前,XML看起来像这样,转换为base64string并对邮件进行url编码。
<samlp:AuthnRequest xmlns="urn:oasis:names:tc:SAML:2.0:metadata" ID="ide13dd575-3f6c-4131-9b9d-e12c644cf18f" Version="2.0" IssueInstant="2016-11-14T14:28:27.5450323Z" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"><Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">{homepage url registered in azure app registrations}</Issuer></samlp:AuthnRequest>
用户被{从端点SAML-P登录端点在天青应用}重定向到https://login.microsoftonline.com//SAML2?SAMLRequest = {编码SAML请求除去}
相同的作品当我发送它的其他SAML2 IDP(使用SimpleSAMLphp)
web浏览器将被重定向到https://login.windows.net/ {端点ID}/SAML2?SAMLRequest = jZBLasMwFEW3YjRXbKny72EbAqVgaCkkbQedBEVWiKktuXrP%2faytgy6pW6hJhoXQ6YV7OPf%2bfH1XqMdhgvVMR7exr7NFij7GwWHN5uDAa%2bwRnB4tAhnYru9uQa4SGC3pTpNmUXtds77rrCjy9KB4LpXian%2bV8aJLUl6Wpdknytg0y1n0ZAP23tVsQSxNxNm2Dkk7 WqJEZFwILtSDlCBSkHIlZCbLtHhmZyU4uV4Wm4Inb%2fzAmurED%2f9ZoxFtoMWMNUeiCSGOx8%2fHTbu78WG3JW1e7t9sOAz%2bvYrP1KaK%2fx7X%2fAI%3D
你是怎么压缩它的?您是手动构建此请求还是使用第三方库来处理它?你能否提供编码请求的样本? – Steve
你提到了一个主页URL,但是这应该是应用程序ID URI。确保这是正确的,如果这是正确的,那么您提交请求的方式可能有问题。 – juunas
Steve:我使用DeflateStream(output,CompressionMode.Compress)来压缩它。我手动构建请求,不使用任何库。将用编码后的请求更新问题。 Juumas:我尝试过不同的URI。应用程序ID(这只是一个Guid),主页URL(我猜这是认证响应的发布地点)。我只是用查询字符串参数发送的请求。 –