gpt4 book ai didi

azure - 使用 UPN(用户主体名称)通过 Azure AD 进行身份验证

转载 作者:行者123 更新时间:2023-12-03 01:29:55 25 4
gpt4 key购买 nike

我有 Angular 9 客户端调用 Azure Functions。我从msal-angular开始使用“隐式授权流程”进行身份验证的包,效果很好。

我在 Azure 中注册的客户端应用程序的身份验证设置为 "Accounts in this organizational directory only (Default Directory only - Single tenant)" 。我无法更改此设置,因为该应用仅可供公司用户使用。

我正在使用我的个人 Microsoft 帐户和 Gmail 用户名(例如: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="413432243301262c20282d6f222e2c" rel="noreferrer noopener nofollow">[email protected]</a> )。此帐户是 Azure AD 中的“ guest ”帐户,到目前为止一切顺利。

我要离开msal-angular并实现PKCE authentication flow .

我正在使用angular-auth-oidc-client包裹。我的stsServerauthWellknownEndpoint设置为https://login.microsoftonline.com/[tenant-id]/v2.0 (原来是这个问题,见底部更新)

以下是我遇到问题的登录场景:

  1. 当我使用我的<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="9de8eef8efddfaf0fcf4f1b3fef2f0" rel="noreferrer noopener nofollow">[email protected]</a>时,我得到"unauthotized_client ..."输入用户名后立即出错 enter image description here

  2. 当我使用 UPN(例如: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c0b5b3a5b280a7ada1a9aceea3afad" rel="noreferrer noopener nofollow">[email protected]</a>#EXT#@our_ad_owner.onmicrosoft.com )时,我会看到密码提示,但我的 Microsoft 密码不起作用。我明白为什么它不起作用(该密码与 AD 无关),但我不知道如何为该帐户设置 AD 密码。

当我尝试在 AD 中重置密码时,它告诉我 "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="582d2b3d2a183f35393134763b3735" rel="noreferrer noopener nofollow">[email protected]</a> is a Microsoft account that is managed by the user. Only <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b8cdcbddcaf8dfd5d9d1d496dbd7d5" rel="noreferrer noopener nofollow">[email protected]</a> can reset their password for this account."

<小时/>

任何有关为我的 UPN 设置 AD 密码的帮助将不胜感激。我还想知道是否可以使用我的实际电子邮件地址而不是 UPN 登录。

<小时/>

更新:问题出在 angular-auth-oidc-client设置,authWellknownEndpoint设置为https://login.microsoftonline.com/common/v2.0 ,在我将其更改为https://login.microsoftonline.com/[tenant-id]/v2.0之后成功了!

最佳答案

您收到第一个错误是因为您正在使用 https://login.microsoftonline.com/common/v2.0作为权威。它将您的帐户视为个人帐户,而不是租户中的访客帐户。但您的 Azure AD 应用程序配置为 Accounts in this organizational directory only (Default Directory only - Single tenant) ,不支持消费者(个人账户)。参见引用here .

所以你应该使用https://login.microsoftonline.com/{your tenant id}/v2.0作为权威。然后它将允许您的 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="8bfef8eef9cbece6eae2e7a5e8e4e6" rel="noreferrer noopener nofollow">[email protected]</a>登录。

关于azure - 使用 UPN(用户主体名称)通过 Azure AD 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63407794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com