将 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概述
如何将python web应用程序部署到Microsoft Azure
Microsoft Azure 的1024种玩法九. Microsoft Azure云端轻松构建部署PostgreSQL数据库