Cognito 中无效的relayState

0

【以下的问题经过翻译处理】 有文档描述在Cognito中一个有效的relayState应该是什么格式吗?我无法正确格式化一个Cognito会接受的relayState,并且没有找到任何相关的文档。在其他地方指定的标准RelayState格式(如https://jackstromberg.com/adfs-relay-state-generator/)会导致Cognito抛出无效的relayState错误。

目前我是使用ADFS作为SAML身份提供者并启用注销流程。然后我通过我的应用程序登录,并转到ADFS屏幕以注销。最开始会出现缺少relayState的问题,但我通过在我的注销路径中添加一个RelayState查询参数来解决了这个问题。它能够识别我添加了该参数,但显然无法解析它(因此抛出无效的relayState)。

profile picture
ESPERTO
posta 6 mesi fa14 visualizzazioni
1 Risposta
0

【以下的回答经过翻译处理】 “有文档描述在Cognito中一个有效的relayState应该是什么格式吗?“

  • 不,我们没有发布关于此格式的文档,但可以从网络请求中解码。Cognito的relayState由一个附加了签名的用户池详细信息的JSON对象组成。

“我无法正确格式化一个Cognito会接受的relayState,并且没有找到任何相关的文档。在其他地方指定的标准RelayState格式(如https://jackstromberg.com/adfs-relay-state-generator/)会导致Cognito抛出无效的relayState错误。”

  • 这是预期的结果。即使可以按照规定格式创建有效的JSON relayState,签名部分也无法生成。因此,简而言之,您无法生成relayState并使用IdP发起的SSO。

“目前我是使用ADFS作为SAML身份提供者并启用注销流程。然后我通过我的应用程序登录,并转到ADFS屏幕以注销。最开始会出现缺少relayState的问题,但我通过在我的注销路径中添加一个RelayState查询参数来解决了这个问题。它能够识别我添加了该参数,但显然无法解析它(因此抛出无效的relayState)。“

  • 注销请求需要从Cognito生成。在用户池中创建SAML提供者时,如果希望在从Amazon Cognito注销时将用户从SAML IdP注销,则选择“启用IdP注销流程”。启用此流程时,当调用LOGOUT端点时,会向SAML IdP发送一个带有有效relay state的签名注销请求。

此外,我们已将“由IdP发起的SSO”加入到功能需求列表中,但我们无法提供发布此功能的预计时间。

profile picture
ESPERTO
con risposta 6 mesi fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande