AWS Cognito中的Microsoft oidc允许多个租户

问题描述

我正在尝试使用AWS Cognito用户池中的Microsoft帐户实施社交登录

我遵循了该线程中提到的文档和解决方案: https://forums.aws.amazon.com/thread.jspa?threadID=287376&tstart=0
我的问题是将发布者设置为允许多个租户。

此发行人仅适用于私人帐户:
https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0

此发行人仅适用于我们目录(租户)中的帐户: https://login.microsoftonline.com/AZURE_ACTIVE_DIRECTORY/v2.0

此发行者根本不工作。使用Microsoft登录后,我得到了严重的发行者错误错误的请求: https://login.microsoftonline.com/common/v2.0

我需要有一个oidc提供程序,该提供程序适用于任何Microsoft帐户(所有租户),这是否可能?

如果我在AWS Cognito oidc配置中将发布者租户设置为common,则这将启动正确的Microsoft流程,但是我认为在Cognito中对发布者的检查失败,因为Microsoft始终将jwt令牌内的特定租户ID作为以下内容的一部分返回发行人。

我检查过的Microsoft文档中的其他信息:
https://docs.microsoft.com/de-de/azure/active-directory/develop/v2-protocols-oidc https://docs.microsoft.com/de-de/azure/active-directory/develop/id-tokens

解决方法

我通过避免使用用户池并直接与 azure 端点 https://login.microsoftonline.com/common/oauth2/v2.0/authorize 等进行交互来避免了这个(租户/发行者)问题。

我仍然需要使用身份池来映射到 IAM 角色。

可以理解,这比让用户池处理令牌更重要,但这是我发现它适用于所有 azure 广告帐户的唯一方法。