当前位置: 首页 > 知识库问答 >
问题:

使用UPN(用户主体名称)与Azure AD进行身份验证

贺飞
2023-03-14

我有9个客户端调用Azure函数。我从使用“隐式授权流”进行身份验证的msal angular包开始,这很好。

我在Azure中的客户端应用注册的身份验证设置为"仅在此组织目录中的帐户(仅默认目录-单个租户)"。我不能更改此设置,因为该应用程序将只对公司用户可用。

我正在使用我的个人Microsoft帐户和Gmail用户名(例如:user@gmail.com)。这个帐户是Azure广告中的“客人”,到目前为止,还不错。

我正在远离msal angular并实现PKCE身份验证流

我正在使用angular auth-oidc客户端包。MystsServerauthWellknownEndpoint设置为https://login.microsoftonline.com/[租户id]/v2。0(原来是问题所在,请参阅底部的更新)

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

当我使用我的UPN时(例如:user@gmail.com#分机@我们的广告主。微软。com)我进入密码提示,但我的Microsoft密码不起作用。我理解为什么它不工作(密码与广告无关),但我不知道如何设置该帐户的广告密码。

当我试图在AD中重置密码时,它告诉我“user@gmail.com是由用户管理的Microsoft帐户。只有user@gmail.com可以重置此帐户的密码。“

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

UPDATE:问题是angang-auth-oidc-Client安装,AuthWellknow nEndpoint被设置为https://login.microsoftonline.com/common/v2.0,在我将其更改为https://login.microsoftonline.com/[tenant-id]/v2.0后,它工作了!

共有1个答案

丁阳炎
2023-03-14

由于使用的是https://login.microsoftonline.com/common/v2.0作为管理机构。它将您的帐户视为个人帐户,而不是租户中的来宾帐户。但您的Azure AD应用程序仅配置为此组织目录中的帐户(仅默认目录-单租户),消费者(个人帐户)不支持此配置。请参阅此处的参考资料。

所以你应该使用https://login.microsoftonline.com/{您的租户id}/v2。0作为权限。然后它将允许您的user@gmail.com以登录。

 类似资料:
  • 我正在为我的WEB API应用程序使用Azure AD身份验证,并且我能够从token获得和索赔,但我没有获得“upn”(“http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn例如,在索赔中。 我需要一个别名。任何人都知道我怎样才能得到索赔。

  • 客户已创建密钥存储库并存储凭据。为了验证密钥存储库,我已经在节点中创建了应用程序,并使用客户端id和客户端机密,我能够读取机密。但是现在客户不想使用客户id和客户机密,而是使用AZURE的用户名和密码来访问程序中的keyvault。它是一个没有MFA的keyvault访问的专用用户。 我不确定我们是否可以从节点JS使用用户名和密码访问keyvault。敬请建议。 谢谢

  • 我有一个用户名和密码,我怎么用他们来验证库贝特尔? 我要运行哪个命令? 我已经通读了https://kubernetes.io/docs/reference/access-authn-authz/authorization/和https://kubernetes.io/docs/reference/access-authn-authz/authorization/,但在其中找不到任何与本例相关的信

  • 这是服务到服务身份验证中概述的规则的一个例外吗?该规则规定需要设置为接收服务的url(例如https://xxxxx.run.app)。和是一回事吗? 最后,除了使用googlecloudsdk(即imaging不存在)之外,是否还有其他方法使用用户帐户而不是服务帐户进行身份验证?

  • 是否可以在Flatter中使用用户名和密码(而不是电子邮件和密码)实现Firebase身份验证?有没有办法用Firebase Auth插件来实现这一点?

  • 于是我在这里看到:https://firebase . Google . com/docs/auth/web/account-linking # link-auth-provider-credentials-to-a-user-account现在可以在Firebase中链接用户账号了。我还看到Firebase提供了匿名认证的功能,它为一个用户创建一个用户会话,不需要任何凭证。 在我们的应用程序中,