Internal Server Error - SAML Federation for User Pools

0

Hi!

Attempting to get SAML federation for User Pools working. Have followed instructions as outlined here:
https://aws.amazon.com/blogs/mobile/amazon-cognito-user-pools-supports-federation-with-saml/

To trigger sign-in, we're running a local version of this example app:
https://github.com/aws/amazon-cognito-auth-js/tree/master/sample
When selecting to sign in via our SAML IdP, we're being redirected to the IdP login and after authentication we're successfully receiving a POST back to our
https://myapp.auth.eu-west-1.amazoncognito.com/login/redirect with a successful SAML assertion. NameID is set in the saml:Subject, and we're using the urn:oasis:names:tc:SAML:2.0:nameid-format:persistent (as specified in the above instructions)

We're then supposed to be redirected to our redirect_url with an idp token, but instead we see a GET to https://myapp.auth.eu-west-1.amazoncognito.com/error?error=Error%20occured%20while%20reading%20the%20IdP%20token.%20Internal%20server%20error (in the Cognito provided web pages)

"Error occured while reading the IdP token. Internal server error."

As a side note: we have also tried establishing a user pool in another region, but with the same result...

How can we find out what is going wrong? Would apprectiate any help :)

Regards, Kenneth

preguntada hace 7 años367 visualizaciones
5 Respuestas
0

Thanks for reporting this. We are in process of fixing couple of bugs identified in our implementation.

  • Name id longer than 128 char results in error.
  • SAML response containing invalid base64 chars (new line or whitespace) results in error.

We are in process of fixing these and will update here once it is done.
Meanwhile if above two cases are not applicable for your scenario, can you please PM me approximate timestamp and user pool id so that i can investigate further.

AWS
respondido hace 7 años
0

Hi Vinay, thanks for the response!

The nameId is a lot shorter than 128 chars. And the encoded SAML response does not contain any newline or whitespace characters.

Have also tried both with users that don't already exist in the user pool AND users that are already established (with user self-signup) within the user pool. Same problem for both.

Will PM you with details so that you can investigate furter :-)

Thanks a lot, Kenneth

respondido hace 7 años
0

A follow up for others that might experience the same problem...

It did not look like our SAML response contained invalid chars, but after inspecting AWS logs:

Vinay:
"I can confirm that the issue is related to the invalid base-64 chars (new line). You will see %0D%0A chars in the url encoded base-64 response, which typical SAML decoder ignore. This is why you don't see it in the base-64 response.
We have the fix rolled out in Frankfurt, Mumbai and London region already. So, you should be able to get it working in any of these regions. Meanwhile we are rolling out the fix in other regions."


I attempted to get it working with a user pool in Frankfurt, but experienced the same problem there. However, when I tried London, things started to work! :-D

Guess the fix will be rolled out in multiple regions soon...

respondido hace 7 años
0

Can you confirm this has rolled out on all regions, including us-west-2? I'm receiving a similar error, even when the IdP is showing success.

travisn
respondido hace 7 años
0

The fix has been deployed to handle the new line chars in the URL encoded SAML response.

AWS
respondido hace 7 años

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas