amazon-web-services - AWS Cognito 中的 Microsoft oidc 允许多个租户

标签 amazon-web-services single-sign-on amazon-cognito openid-connect microsoft-account

我正在尝试在 AWS Cognito 用户池中使用 Microsoft 帐户实现社交登录。
我遵循了该线程中提到的文档和解决方案:
https://forums.aws.amazon.com/thread.jspa?threadID=287376&tstart=0
我的问题是将发行人设置为允许多个租户。
此发行人仅适用于私有(private)帐户:
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
我需要一个适用于任何 Microsoft 帐户(所有租户)的 oidc 提供程序,这可能吗?
如果我在 AWS Cognito oidc 配置中将颁发者租户设置为 common,那么这将启动正确的 Microsoft 流程,但我假设 Cognito 中的颁发者检查失败,因为 Microsoft 总是在 jwt token 中返回特定租户 ID 作为颁发者的一部分。
我检查过的微软文档中的其他信息:
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 角色。
可以理解,这比让用户池处理 token 更重要,但这是我发现它适用于所有 azure 广告帐户的唯一方法。

关于amazon-web-services - AWS Cognito 中的 Microsoft oidc 允许多个租户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64331213/

相关文章:

amazon-web-services - AWS EC2 在创建时进入停止状态

azure - 解决方案识别 "Similar Product Images"?

mysql - 使用 Amazon Web Services(EC2 等)托管 CakePHP 应用程序?

amazon-web-services - 检查 adminCreateUser 在 AWS Cognito 中创建的用户的过期帐户

amazon-web-services - 用于移动和 Web 访问的 Cognito 角色和 AWS S3 存储桶策略

amazon-web-services - 是否可以使用AWS不同区域的服务

rest - 使用 Spring Security 在 Web 应用程序和 RESTful 服务之间共享安全上下文

security - OpenID Connect 与无状态 JWT token

single-sign-on - wso2 saml sso授权后返回目标url

android - AWS Cognito 与 Android APP 中 IAM 角色的安全问题