繁体   English   中英

添加用户到 Azure AD 企业应用

[英]Add users to Azure AD Enterprise Application

我正在使用 SAML 2 协议将 Microsoft SSO 集成到我的应用程序中。 我设法在 Azure 门户中创建了一个新的企业应用程序,并在 SimpeSAMLphp 库的帮助下成功添加了 SSO。 现在,当我使用不是 Azure AD 的帐户登录时,我收到一条特定的错误消息

AADSTS50020: User account ... from identity provider 'live.com' does not exist in 
tenant 'Default Directory' and cannot access the application ... in that tenant. The 
account needs to be added as an external user in the tenant first. Sign out and sign in
 again with a different Azure Active Directory user account.

我知道为了让用户能够使用 Microsoft SSO,他们需要在 Azure AD 中添加为用户/组,但如果他们不是,我想向用户发送邀请(使用 Microsoft Graph API)添加在 Azure AD 中,如果它们在数据库中。 问题是我找不到任何方法来捕获此错误或任何其他解决方法。 在他们添加他们尝试使用他们在 Microsoft 上的邮件登录后,我还尝试获取用户的 email。 有什么办法可以吗? (我还需要我的应用程序使用 SAML 协议,所以我不能创建一个普通的 Application int Azure AD 并使用 oAuth)。

解决方法之一可能会有所帮助:

我想知道是否有可能在收到错误消息时至少获得用户的 email,这样我就可以在他们的帐户已创建的情况下向他们发送邀请。

要实现上述要求,您可能需要使用 V2 终结点以允许从个人 Microsoft 帐户进行访问。

例如:- https://login.microsoftonline.com/common/oauth2/v2.0/authorize并将 uri 重定向为http://jwt.ms

https://login.microsoftonline.com/common/oauth2/v2.0/authorize
?client_id=ffffff-1111-2222-3333-xxx
&response_type=id_token
&redirect_uri=http://jwt.ms
&response_mode=form_post
&prompt=consent
&scope=openid
&state=12345
&nonce=RandomGUI

PS:-请提供您的应用程序的客户端 ID、租户 ID。

通过这样做,您可以获得登录失败的用户电子邮件,并且可以向该用户发送邀请。

在替代解决方案中:-您的应用程序可以使用Azure AD B2C对任何 Microsoft 帐户进行身份验证。 可以将 Microsoft 帐户添加为社交身份提供者。 这样任何拥有真实账户的人都可以使用 Azure AD B2C 登录/注册您的应用程序。

有关更多信息,请参阅以下链接:

租户“xxx”中不存在用户帐户,无法访问应用程序&

Azure 当使用我的 AAD 帐户以外的 ms live 帐户时,AD 身份验证失败

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM