Träger-Token kann nicht von Azure AD zur Verwendung mit der API-App abgerufen werden.

Ich habe eine MVC-Anwendung, die auf eine private API-Anwendung in Azure zugreifen muss, die mit der Azure AD-Authentifizierung geschützt ist. Daher muss ich das Azure AD-Inhaber-Token in @ übertrageZumo-Auth Token und verwenden Sie es, um auf die API-App zuzugreifen.

Ich gehe durchdieses Tutorial und alles funktioniert einwandfrei, bis ich das Token von @ anfordern muauthContext. Hier ist der Code-Ausschnitt:

var authContext = new AuthenticationContext(
    "https://login.microsoftonline.com/MyADDomain.onmicrosoft.com");

ClientCredential credential = new ClientCredential(
    "04472E33-2638-FAKE-GUID-F826AF4928DB", 
    "OMYAPIKEY1x3BLAHEMMEHEHEHEHEeYSOMETHINGRc=");

// Get the AAD token.
var appIdUri = 
    "https://MyAppGateway-814485545465FAKE4d5a4532cd.azurewebsites.net/login/aad";

//var appIdUri = "https://MyADDomain.onmicrosoft.com/MyAppName";
//var appIdUri = "https://MyADDomain.onmicrosoft.com/";
//var appIdUri = "https://graph.windows.net";

AuthenticationResult result = 
    authContext.AcquireToken(appIdUri, credential); // <-- can't get the token from AD

// downhill from here
var aadToken = new JObject();
aadToken["access_token"] = result.AccessToken;
var appServiceClient = new AppServiceClient(
    "https://MyAppGateway-814485545465FAKE4d5a4532cd.azurewebsites.net/");

// Send the AAD token to the gateway and get a Zumo token
var appServiceUser = await appServiceClient.LoginAsync("aad", aadToken);

Die Zeile mitauthContext.AcquireToken(appIdUri, credential) ist derjenige, der Probleme verursacht.

Als obappIdUri Ich gebehttps://MyAppGateway-814485545465FAKE4d5a4532cd.azurewebsites.net/login/aad, Ich bekomme eine Ausnahme:

400: AdalServiceException: AADSTS50001: Ressource 'https: //MyAppGateway-814485545465FAKE4d5a4532cd.azurewebsites.net/login/aa 'ist nicht für den Account registriert.

Aber genau diese Zeile steht in der Liste vonReply Url in der AD-Anwendung

Wenn ich versuche, @ zu verwendhttps://MyADDomain.onmicrosoft.com/MyAppName oderhttps://MyADDomain.onmicrosoft.com/ wieappIdUri Ich erhalte eine andere Ausnahmemeldung:

400: AdalServiceException: AADSTS50105: Die Anwendung '04472E33-2638-FAKE-GUID-F826AF4928DB' ist keiner Rolle für die Anwendung 'https: //MyADDomain.onmicrosoft.com/MyAppNam'

Ode

400: AdalServiceException: AADSTS50105: Die Anwendung '04472E33-2638-FAKE-GUID-F826AF4928DB' ist keiner Rolle für die Anwendung 'https: //MyADDomain.onmicrosoft.com'

n beiden Fällen hatte ich dieApp ID URI in der AD-Anwendung auf 'https: //MyADDomain.onmicrosoft.com/MyAppNam' oder 'https: //MyADDomain.onmicrosoft.com '. Und beide Namen in der Liste vonReply URL.

Eventuell nach genug Versuchen habe ich @ gesethttps://graph.windows.net wieappIdUri und den Inhaber zurückbekommen. Der Token wurde jedoch mit Ablaufdatum in der Vergangenheit (ca. 1 Minute in der Vergangenheit) ausgegeben. Also konnte ich damit nichts weiter anfangen. Und bekam401-Unauthenticated beim Versuch, sich mit dem Token bei der API-App anzumelden.

Was vermisse ich

Antworten auf die Frage(2)

Ihre Antwort auf die Frage