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