Office 365,UseOpenIdConnect身份验证和登录错误

时间:2017-03-15 09:56:41

标签: office365 azure-active-directory openid-connect

我有一个相当标准的MVC 5 ASP.NET项目,我使用OAuth中间件和" app.UseOpenIdConnectAuthentication"启用Office 365登录。

在Azure AD中,我创建了一个标准的应用程序,它为我提供了ClientId和Client Secret / Key。该应用是一个多租户应用,但是一个应用来自租户/ Azure AD的用户(按客户安装,它就像现在这样的欲望< / em>的)。

我使用https://login.microsoftonline.com/common作为登录权限,我替换了#34; common&#34;与我的租户ID。

一切都很标准,当我和我的用户一起登录时,一切都很有效: - )

我的问题是指我尝试使用用户存在于我的AD中的用户登录。在登录过程中,Microsoft给了我以下消息:

  

AADSTS50020:用户帐户&#39; [我的用户]&#39;来自身份提供商&#39; https://sts.windows.net/[my租户ID] /&#39;租户中不存在[我的租户名称]&#39;并且无法访问应用程序&#39; [我的应用程序ID]&#39;在那个房客里。该帐户需要首先作为外部用户添加到租户中。注销并使用其他Azure Active Directory用户帐户重新登录。

问题#1 没有办法从这里退出。这可能是我应该追加挑战的一些参数吗?

问题#2 大多数用户不明白出了什么问题。他们缺乏技术技能或只是对阅读不感兴趣。所以对他们来说,这些东西很糟糕而且不起作用。

是否有任何方法可以将错误传回客户端,以便我可以显示正确的错误或信息页面,我可以解释他们尝试使用其他租户的用户登录。

还有其他人遇到类似问题吗?或者围绕这个主题分享一些内容?

额外的详细信息: 我可能在某一时刻开始将其作为多租户解决方案,但因为这是为每个客户安装的,我必须尝试解决问题它不是应该如何。

1 个答案:

答案 0 :(得分:0)

如果您的应用在您的单位内使用,则该应用可能是单租户。如果您的应用由多家公司使用,则应用需要为多租户,或者您在每个组织中安装单独的应用。

  
    

是否有任何方法可以将错误传回客户端,以便我可以显示正确的错误或信息页面,我可以解释他们尝试使用其他租户的用户登录。

  

目前,如果它是单个租户应用,则没有解决方案将用户表单重定向到错误消息页面回到您的应用。一种解决方法可能是尝试customizing the sign-in page,在用户登录前向用户说明,然后他们会在页面的登录页面文本面板中查看警告信息。