fix(chalice): check relayState type for SSO (#1932)

This commit is contained in:
Kraiem Taha Yassine 2024-03-06 18:59:49 +01:00 committed by GitHub
parent 0d88edb572
commit eea362969e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -44,8 +44,20 @@ async def process_sso_assertion(request: Request):
logger.error("Received invalid post_data")
logger.error("type: {}".format(type(post_data)))
logger.error(post_data)
post_data = {}
redirect_to_link2 = None
relay_state = post_data.get('RelayState')
if relay_state:
if isinstance(relay_state, str):
relay_state = json.loads(relay_state)
elif not isinstance(relay_state, dict):
logger.error("Received invalid relay_state")
logger.error("type: {}".format(type(relay_state)))
logger.error(relay_state)
relay_state = {}
redirect_to_link2 = relay_state.get("iFrame")
redirect_to_link2 = post_data.get('RelayState', {}).get("iFrame")
request_id = None
if 'AuthNRequestID' in session:
request_id = session['AuthNRequestID']