2016-11-04 3 views
0

Ich versuche eine Angular 2-Client-Anwendung (die auch das Ionic-Framework verwendet) gegen ein Azure Active Directory zu authentifizieren und dann mit einer .NET-Web-API zu sprechen.Angular 2 Azure Active Directory-Authentifizierung über ADAL

Allerdings erhalte ich die folgende Fehlermeldung nach der Anmeldung:

Login error: AADSTS65001: The user or administrator has not consented to use the application with ID '1cdd3510-c720-44b8-9531-b880f51aa3dd'. Send an interactive authorization request for this user and resource. 

Als ich zum ersten Mal angemeldet ich um Erlaubnis gefragt wurde, was ich akzeptierte. Ich kann die meisten Anwendungen sehen, außer für die Teile, die auf die API angewiesen sind. Das Problem kann durch Entfernen des [Authorize] -Attributs auf den API-Controllern behoben werden, das würde es jedoch vollständig geöffnet lassen.

Die Client-Anwendung wird als dies im Azure-Portal einrichten:

Client application permissions

ich alle Berechtigungen in einem letzten verzweifelten Versuch aktivieren, damit zu arbeiten, ich habe auch Zugriff auf die API aktiviert Anwendung.

Mein Auth-Dienst konfiguriert ist wie folgt:

private version: string = "-dev"; 
private config: any = { // web browser 
    tenant: "***.onmicrosoft.com", 
    clientId: "********-****-****-****-************", // Client ID 
    postLogoutRedirectUri: window.location.origin, 
    endpoints: { 
     ["https://***" + this.version + ".azurewebsites.net/api"]: "https://***.onmicrosoft.com/api" 
    }, 
    cacheLocation: "localStorage" 
}; 
private base: string = "https://***.onmicrosoft.com"; 
private appId: string = this.base + "/interface"; 
private apiId: string = this.base + "/api"; 
private appUri: string = "https://***" + this.version + ".azurewebsites.net" 
private apiUri: string = this.appUri + "/api"; 
private authority = "https://login.windows.net/***.onmicrosoft.com"; // Authority from azure 
private nativeClientId = "********-****-****-****-************";  // Ionic app ID 
private redirectUri = "http://***app";        // Ionic app URI 
private currentUser: any;           // Object representing the current user 
private authContext: any;           // Auth context from adal.js 

und der Teil des Dienstes, der den Fehler wirft oben ist:

this.authContext.acquireToken(endpoint, (error, token) => { 
    if (error || !token) { 
     console.log("Login error: " + error); 
     return; 
    } else { 
     resolve(token); 
    } 
}); 

Dieses Problem schon eine ganze Weile im Gange ist So würde jede Hilfe sehr geschätzt werden.

+0

Sind Sie ein Administrator im Azure AD? Außerdem erfordern einige Berechtigungen, dass der Admin-Zustimmungsfluss zuerst durchlaufen wird, wie ich in meiner anderen Antwort erwähne: http://stackoverflow.com/a/40407847/1658906 – juunas

Antwort

Verwandte Themen