将 Microsoft(个人和工作 Azure AD)OIDC 集成到 AWS Cognito

Posted

技术标签:

【中文标题】将 Microsoft(个人和工作 Azure AD)OIDC 集成到 AWS Cognito【英文标题】:Integrating Microsoft(both personal and work Azure AD) OIDC to AWS Cognito 【发布时间】:2021-07-29 10:55:58 【问题描述】:

我试图将 MSF OIDC 集成到 AWS cognito 用户池。在 Azure AD 中使用 "signInAudience": "AzureADandPersonalMicrosoftAccount" 创建了新的应用注册,并在 cognito federation 和其他设置中设置了 "issuer": "https://login.microsoftonline.com/common/v2.0"。当我尝试使用工作或个人 MSF 帐户登录时,它会抛出 "invalid_request" error with description "Bad id_token issuer"。如果,我将 issuer 中的 tenant_id "common" 替换为特定的tenant_id(9188040d-6c67-4c5b-b112-36a304b66dad for example-personal MSF),则通过发回授权码,流程按预期工作。任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

在公共端点的情况下,通常会禁用或以不同方式实施颁发者验证。 如果看到元数据文档(https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration),则颁发者指定为"https://login.microsoftonline.com/tenantid/v2.0",对任何租户均无效。

如果您想允许任何租户,则应禁用颁发者验证(不知道这在 Cognito 中是否可行)。 如果您只想允许特定的租户,您应该检查特定的颁发者 URI(同样不知道这在 Cognito 中是否可行)。

【讨论】:

【参考方案2】:

它似乎适用于具有以下 URL 的个人帐户: https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0

我从以下网址获得此网址 https://login.microsoftonline.com/consumers/v2.0/.well-known/openid-configuration 由于某种原因,使用消费者作为租户不起作用。

您可能需要提供两个链接 - 每个租户一个。

【讨论】:

请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。

以上是关于将 Microsoft(个人和工作 Azure AD)OIDC 集成到 AWS Cognito的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Azure:如何使用多因素(四眼)授权

Microsoft Azure系列之二 Microsoft Azure概述

如何将python web应用程序部署到Microsoft Azure

Microsoft Azure 的1024种玩法九. Microsoft Azure云端轻松构建部署PostgreSQL数据库

从0开始使用Microsoft Azure打造个人的语音助手

Microsoft Azure - 基本问题