Ich versuche, SAML einzurichten und ich habe SimpleSAMLphp sowohl für meinen Dienstanbieter als auch für meinen Identitätsanbieter verwendet. Um nun meinen Service Provider zu testen, habe ich ssocclecle als alternativen Identity Provider eingerichtet. Das Problem, das ich habe, ist, dass egal, was ich tue, es zu/anstelle des RelayState umleitet (was SimpleSAMLphp verwendet, um am Ende umzuleiten). Gibt es einen Teil des Standards, der dies anspricht? Sollte es immer umleiten zu/oder ist ssocircle ignoriert meine Parameter, wenn es nicht sein sollte?Wie verwende ich ssocircle als IDP und Umleitung zu einer Seite?
<a href="https://idp.ssocircle.com/sso/idpssoinit?metaAlias=%2Fpublicidp&spEntityID=https://myServer/simplesaml/module.php/saml/sp/metadata.php/sp2&RelayState=https://myServer/SAMLHandler.php?idp=2&destination=https://myServer/SAMLHandler.php?idp=2">Log in with ssocircle</a>
Basierend auf den Antworten habe ich es auf die folgenden geändert, aber ich sehe immer noch die gleichen Ergebnisse.
<a href="https://idp.ssocircle.com/sso/idpssoinit?metaAlias=%2Fpublicidp&RelayState=https%3A%2F%2FmyServer%2FSAMLHandler.php%3Fidp%3D2&spEntityID=https%3A%2F%2FmyServer%2Fsimplesaml%2Fmodule.php%2Fsaml%2Fsp%2Fmetadata.php%2Fsp2">Log in with ssocircle</a>
Hier sind die Reihenfolge der Links meinem Browser sieht: Ich
https://idp.ssocircle.com/sso/hos/AdPage.jsp?returnUrl=/sso/idpssoinit&metaAlias=%2Fpublicidp&RelayState=https%3A%2F%2FmyServer%2FSAMLHandler.php%3Fidp%3D2&spEntityID=https%3A%2F%2FmyServer%2Fsimplesaml%2Fmodule.php%2Fsaml%2Fsp%2Fmetadata.php%2Fsp2
Klicken Sie dann auf eine Box, die ich bin kein Roboter sagt. Sie glauben mir nicht, also muss ich ein paar Bilder aussuchen. Dann lässt es mich weitermachen.
https://idp.ssocircle.com/sso/idpssoinit?metaAlias=%2Fpublicidp&spEntityID=https%3A%2F%2FmyServer%2Fsimplesaml%2Fmodule.php%2Fsaml%2Fsp%2Fmetadata.php%2Fsp2&relayState=https%3A%2F%2FmyServer%2FSAMLHandler.php%3Fidp%3D2&g-recaptcha-response=03AOP2lf7g9SbzDz_d3YQ7s-RpbtUTdlIntJ8PCr-jHHK97Wmua4xHYOzk0jwRbbzbPUJnigOjEoCDib4LTcacS_0rd0rSvEve2JBZoDh5BxKHOFXae2Eht_ZYK2mOG6tS3VEwXxbM4u7Bgc3l3OY3tan2cRenS1aUcHQHggvlr32Jd5POg5a1wHm5cPx-AhdnRZZC3X-8pU1VSgjq4w1IqNBmCRCPICPOGWdnLrdab0-VOIV0NYkMFS66kUUFb69sTAASudJNZUds-6IFtmT2uqxBcMqAw25MrVUUj1q7LUl5E7t79lqW9zRhXc94TvsBJcrI1pEEWghK
Und schließlich
https://myServer/
Obwohl, wenn ich einen Würfel() -Aufruf in meinem AssertionConsumerService setzen, es stirbt. Wenn ich dann $ _REQUEST drucke, gibt es keinen RelayState.
Ich habe die Frage mit den URLs aktualisiert, die mein Browser aufruft. Ich habe die URL-Codierung geändert und sehe keinen Unterschied. – Andrew
Das Fixieren der URL-Codierung und die detaillierte Flussbeschreibung halfen, das Problem anzugehen. Es sieht so aus, als ob der Parameter in der Captcha-Behandlung verloren geht. Mein Test basierte auf einem bezahlten Abonnement-Konto, das den "No Robot" -Abfang überspringt. Wie auch immer, bitte versuche es noch einmal, es hat jetzt für mich funktioniert. – Hos
So funktioniert es nicht ohne ein kostenpflichtiges Abonnement? – Andrew