2017-03-15 4 views
0

ich ein ziemlich Standard-MVC 5 ASP.NET-Projekt, wo ich OAuth-Middleware verwenden und "app.UseOpenIdConnectAuthentication" Login mit Office 365.Office 365, UseOpenIdConnectAuthentication und Anmelde-Fehler

Innerhalb Azure AD zu ermöglichen, I habe eine Standard-Anwendung erstellt, die mir ClientId und Client Secret/Key gibt. Die App ist nicht eine Multitenant-App, sondern eine App, wo ein Benutzer aus dem Mieter/Azure AD erwartet wird (installiert pro Kunde, es ist Lust, so ist es jetzt).

Ich benutze https://login.microsoftonline.com/common als Login-Autorität, wo ich "Common" mit meiner Mieter-ID ersetzen.

All ziemlich Standard, und wenn ich mit meinem Benutzer anmelden, funktioniert alles nur Dandy :-)

Mein Problem ist, wenn ich versuche, mit einem Benutzer anmelden, die NICHT ein Benutzer ist, dass existiert in meiner AD. Im Login-Prozess, gibt Microsoft mir die folgende Meldung:

AADSTS50020: Benutzerkonto '[mein Benutzer]' von Identity-Provider 'https://sts.windows.net/[my Mieter id] /' nicht in Mieter existiert '[mein Mieter Name]' und kann nicht auf die Anwendung "[Meine App-ID]" in diesem Mandanten zugreifen. Das Konto muss zuerst als externer Benutzer im Mandanten hinzugefügt werden. Melden Sie sich mit einem anderen Azure Active Directory-Benutzerkonto ab und wieder an.

Frage # 1 Es gibt keine Möglichkeit, von hier aus sich abzumelden. Ist das vielleicht ein Parameter, den ich an die Herausforderung anhängen sollte?

Frage # 2 Die meisten Benutzer verstehen nicht, was schief gelaufen ist. Sie haben keine technischen Fähigkeiten oder sind nur daran interessiert, ein wenig zu lesen. Für sie ist das Zeug schlecht und funktioniert nicht.

Gibt es vielleicht eine Möglichkeit, den Fehler an den Client zurück zu übertragen, damit ich einen korrekten Fehler oder eine Informationsseite anzeigen kann, auf der ich erklären kann, dass sie sich mit einem Benutzer aus einem anderen Mandanten anmelden.

Haben andere ähnliche Probleme? Oder haben Sie etwas zum Thema?

Extra Details: ich an einem Punkt kann machen dies als eine Multi-Tenant-Lösung beginnen, aber da diese für jeden Kunden installiert ist, muss ich versuchen, das Problem zu lösen, wie es ist, und nicht, wie es hätte sein sollen .

+0

Wenn Sie SSO mit anderen AZure AD durchführen möchten, müssen Sie Ihre App als Multi-Tenant-Anwendung aktivieren. –

+0

Der Fehler ist in der Tat nicht sehr gut. AFAIK Sie können diesen Fehler derzeit nicht zu Ihrer App zurückbekommen. – juunas

Antwort

0

Wenn Ihre App in Ihrer Organisation verwendet wird, könnte die App Single Tenant sein. Wenn Ihre App von mehreren Unternehmen verwendet wird, muss die App mandantenfähig sein oder Sie müssen separate Apps in jeder Organisation installieren.

Gibt es vielleicht eine Möglichkeit, die Fehler zurück an den Client übergeben, damit ich einen richtigen Fehler oder Informationsseite zeigen kann, wo ich erklären kann, dass sie versuchen, mit einem Benutzer von einem anderen Mieter anzumelden.

Zu aktueller, wenn es dich um einen einzelnen Mieter App ist, gibt es keine Lösung der Benutzer umleiten zu Ihrer App, dass die Fehlermeldung Formularseite zurück. Ein möglicher Workaround ist der Versuch customizing the sign-in page, geben Sie Ihrem Benutzer vor der Anmeldung eine Benutzererklärung, und dann werden die Warninformationen im Textfeld der Anmeldeseite auf der Seite überprüft.