为什么 AWS Cognito 在配置外部 IdP(Azure AD)时需要客户端机密?

为什么 AWS Cognito 在配置外部 IdP(Azure AD)时需要客户端机密?

我不明白为什么 AWS Cognito 在配置外部 IdP(例如 Azure AD)时需要客户端机密。

据我所知,AWS Cognito 仅将联合身份转发到外部 IdP 以进行(OIDC)授权代码授予流程,从而导致在成功身份验证后向应用程序发出访问和 ID 令牌:

在此处输入图片描述

客户端机密仅供 AWS Cognito 作为服务进行身份验证(例如 Azure AD 应用程序注册)时使用,但为什么需要它呢?

https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-oidc-flow.html

答案1

我只能代表 Azure AD 发言,但 Azure AD 中的任何身份验证都必须在应用程序注册的上下文中完成,以便它知道谁在请求身份验证,最重要的是,用户或管理员同意该外部服务针对 Azure AD 进行身份验证并检索有关用户的详细信息。

身份验证请求将向 Cognito 返回有关用户的信息,根据请求的内容,这可能只是一个非常简单的令牌,也可能包含大量有关用户和组织的信息,Azure AD 要求用户或公司同意此共享,因此需要根据应用程序注册记录此同意,因此 Cognito 需要能够作为此应用程序注册进行身份验证。

相关内容