fix(chalice): check relayState type for SSO (#1932)
This commit is contained in:
parent
0d88edb572
commit
eea362969e
1 changed files with 13 additions and 1 deletions
|
|
@ -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']
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue