【问题标题】:Processing saml signed response using idp meta data ? saml +adfs + idp使用 idp 元数据处理 saml 签名响应? saml +adfs + idp
【发布时间】:2024-01-10 07:41:01
【问题描述】:

我正在作为服务提供商进行 saml2.0 身份验证。在对我的 IP(身份提供商)进行身份验证后,我收到了回复

如下所示

的https://本地主机:4200 /地图SAMLResponse = pVRNj5swEP0riDvfkIDFIqXJJVK3u0pWe9hL5dhDQwUYecx2f35tKMmySmmrnvA8zbx5nnkmR9rUHTkAdqJFsPa7O%2fsrZEkcrCPmxFkcOXFaRk56iksnjJI0CU808GlgW88gsRLtnR26vm3tEXvYt6hoqzTkh4Hjp04QPgUJSRIS%2bO46SV9saweoqpaqofKsVIfE82rBaH0WqEgc%2br7X0M62tkaP4eplSwTFCklLG0CiGDlu7j8T3ZawMYn0LXbAqrICbltvTd0iGS62XN1JoQQTtV3kg3w5li4XUUSQRr5dGPlavenkNjXl6DZVy2vxrWIu7TqP8hI9nf1aMUBPyR5V7o2dinwc%2fFFR1eM82goO1jOte1hWgkM2OfZM06NteUXuzVk3k9ZxrzwrgzKJuZNR8J2Yw9rJIh3GdO2nCZyyVZT83SbXLx%2F3 2F2%%%2BT%2bzXv%2f5vgsT99B6YuB%2b2YspLN4C3rHtRZ8D%2b4pyEnoBKkfZNjRxW1vgj10D7ITalAzqexIr5%2f9fVB26%2brBsMuudrs6EarK1rkGueVAdE0%2fwSlkPC7Pax05yWF7%2fK0G3quBTLQj13Jio19J7CYVHN4%2fbAELTz3LnnX44zHu8o2pOrcGhNCoydiDeFNRwXED0icuqssGhXqRE2k4E3No22t3XOAslg0GCPM5Gn4UX9 2bCMkf9RPXUwX %2bJKn%2bRwipjP4bvHN4Ci93MMBk38szm%2f6axU8%3D&签名= vY2pfmvhiy%2fhUmh1Gngn9WntOYU30sxjSU6JhSVLEWOVj6Y0bZM73eI6Ad%2fXRdOUwfqTx2vjtpVRqZJfe9I9%2fM0SkyQ90bGdHUpK%2bMdrrm6KuXoC1SR1MRZAV1ebRcKwlLOcK4KO39TC%2bQs0jVGtvBeO9w4ypPzWRp1OOFQybb d%2bE7Q7xj6DcRlhiyli5S5TfGnK%2f5D9nj3ZEiZWPjn9FFKVfAWpuqMyDPbeDibktl3jLmvih8B1mbOLx%2fRyQZe8Klx381BqZd7Bg8NzHoEvqRvdfrqEslnjZSuF5vCpSKFdKhZ7KQGazj66SnQbVUXB9UvT480tWlwjhwkraXY58Q%3D%3D&SigAlg = HTTP%3A%2F%2fwww.w3.org%2f2001%2f04%2fxmldsig-更%23rsa-SHA256 >> P>

而不是像上面那样的 xml 响应,我的问题是如何处理它?

【问题讨论】:

  • 一个 SAML 响应被压缩和 base64 编码。要获得 SAML,您只需对 SAMLResponse 参数进行膨胀和 base64 解码
  • 感谢@codebrane 如何在 python 中充气我不知道如何充气。我知道如何解码但不知道如何充气

标签: saml-2.0 adfs2.0


【解决方案1】:

要查看响应,请将以下内容插入例如this.

pVRNj5swEP0riDvfkIDFIqXJJVK3u0pWe9hL5dhDQwUYecx2f35tKMmySmmrnvA8zbx5nnkmR9rUHTkAdqJFsPa7O%2fsrZEkcrCPmxFkcOXFaRk56iksnjJI0CU808GlgW88gsRLtnR26vm3tEXvYt6hoqzTkh4Hjp04QPgUJSRIS%2bO46SV9saweoqpaqofKsVIfE82rBaH0WqEgc%2br7X0M62tkaP4eplSwTFCklLG0CiGDlu7j8T3ZawMYn0LXbAqrICbltvTd0iGS62XN1JoQQTtV3kg3w5li4XUUSQRr5dGPlavenkNjXl6DZVy2vxrWIu7TqP8hI9nf1aMUBPyR5V7o2dinwc%2fFFR1eM82goO1jOte1hWgkM2OfZM06NteUXuzVk3k9ZxrzwrgzKJuZNR8J2Yw9rJIh3GdO2nCZyyVZT83SbXLx%2f3%2f2%2bT%2bzXv%2f5vgsT99B6YuB%2b2YspLN4C3rHtRZ8D%2b4pyEnoBKkfZNjRxW1vgj10D7ITalAzqexIr5%2f9fVB26%2brBsMuudrs6EarK1rkGueVAdE0%2fwSlkPC7Pax05yWF7%2fK0G3quBTLQj13Jio19J7CYVHN4%2fbAELTz3LnnX44zHu8o2pOrcGhNCoydiDeFNRwXED0icuqssGhXqRE2k4E3No22t3XOAslg0GCPM5Gn4UX9%2bCMkf9RPXUwX%2bJKn%2bRwipjP4bvHN4Ci93MMBk38szm%2f6axU8%3d

您会看到响应。

以编程方式,使用库,例如this.

【讨论】: