Ich entwickle eine native App, die die Office 365-Gruppen anzeigen muss, zu denen der Benutzer gehört. Dazu rufe ich die Microsoft Graph API auf, die eine Authentifizierung erfordert. Ich benutze die ADAL-Bibliothek.Wie kann ich meine Azure AD-App von einem anderen Mandanten verwenden?
Die erforderlichen Berechtigungen erfordern die Zustimmung des Administrators. Alles funktioniert gut für Benutzer von meinem Mandanten, aber wenn ich versuche, mit einem Konto eines anderen Mandanten zu authentifizieren, funktioniert es nicht. Es hält was dieses Ergebnis:
Korrelations-ID: 9780ed24-9d24-4604-b8bf-28a02c2ea580
Zeitstempel: 2017.04.14 12: 05: 45Z
AADSTS70001: Anwendung mit der Kennung ' xxxxxxxx-xxx-xxx-xxxx-xxxxxxxxxxxx‘wurde nicht im Verzeichnis gefunden XXXXXXX.onmicrosoft.com
auch wenn ich ein Admin-Konto bei der ersten Verbindung verwenden. Ich werde nie um Zustimmung gebeten und die App ist nicht auf dem anderen Mieter registriert.
Die App ist als Native registriert, damit es Multi-Tenant sein sollte und ich pass "/ common" als Mieter in der Behörde.
Ich habe auch versucht, eine App mit den gleichen Spezifikationen auf dem anderen Mieter zu registrieren, gab Admin Zustimmung über die Berechtigungen und es hat auch funktioniert.
Hier ist, wie ich das Zugriffstoken abzurufen:
private static string GetAccessToken()
{
AuthenticationContext authContext = new AuthenticationContext(authority);
AuthenticationResult authResult = authContext.AcquireToken(graphResource, clientID, redirectURI, PromptBehavior.RefreshSession);
var accessToken = authResult.AccessToken;
return accessToken;
}
Ist es ein Problem innerhalb des Codes Die Parameter? Benötigen die anderen Mieter ein spezielles "Azure-Abonnement", das mir nicht bekannt ist?
Kurz gesagt: Wie bekomme ich es für andere Mieter arbeiten?
bearbeiten: Ich habe versucht, manuell auf die Anforderung der „prompt = admin_consent“ hinzuzufügen, wie folgt aus:
AuthenticationResult authResult = authContext.AcquireToken(graphResource, clientID, redirectURI,PromptBehavior.RefreshSession, UserIdentifier.Any, "prompt=admin_consent");
Aber es löst eine Fehlermeldung, dass es eine „Duplicate Abfrageparameter‚ist prompt 'in extraQueryParameters "
Können Sie die CorrelationId und Timestamp von der Fehlermeldung enthalten? –
@PhilippeSignoret Ja, fertig. – Patsuan
Wie haben Sie die native Client-App erstellt? Welche Schnittstelle? –