Muszę uwierzytelnić aplikację przeciwko usłudze Azure AD. Stworzyłem web API i dodałem go do sekcji aplikacji Azure AD. Zmieniono plik manifestu, stworzył API internetową i uwierzytelnione z AD Azure i stworzył postać systemu Windows, zawierający następujący kod:Aplikacja o nazwie HTTPS://test113.onmicrosoft.com/FTP nie została znaleziona w dzierżawie o nazwie test113.onmicrosoft.com
private async void button1_Click(object sender, EventArgs e)
{
string authority = "https://login.windows.net/test113.onmicrosoft.com";
string resourceURI = "https://test113.onmicrosoft.com/ftp";
string clientID = "5177ef76-cbb4-43a8-a7d0-899d3e886b34";
Uri returnURI = new Uri("http://keoftp");
AuthenticationContext authContext =
new AuthenticationContext(authority);
AuthenticationResult authResult =
authContext.AcquireToken(resourceURI, clientID, returnURI);
string authHeader = authResult.CreateAuthorizationHeader();
// don't do this in prod
System.Net.ServicePointManager.ServerCertificateValidationCallback =
((s, c, c2, se) => true);
HttpClient client = new HttpClient();
HttpRequestMessage request =
new HttpRequestMessage(HttpMethod.Get, "https://localhost:44300/api/tasks");
request.Headers.TryAddWithoutValidation("Authorization", authHeader);
var response = await client.SendAsync(request);
string responseString = await response.Content.ReadAsStringAsync();
MessageBox.Show(responseString);
}
Mam wyjątek:
wyjątek typu „Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException” wystąpił w Microsoft.IdentityModel.Clients.ActiveDirectory.dll ale nie było obsługiwane w kodzie użytkownika
Dodatkowe informacje: AADSTS5000 1: Aplikacja o nazwie https://test113.onmicrosoft.com/ftp nie została znaleziona u dzierżawcy o nazwie test113.onmicrosoft.com. Może się tak zdarzyć, jeśli aplikacja nie została zainstalowana przez administratora najemcy lub nie została przez nią zaakceptowana przez żadnego użytkownika najemcy. Możliwe, że wysłałeś żądanie uwierzytelnienia do niewłaściwego najemcy.
śledzenia ID: e782d60e-b861-46a3-B32B-f3df78396bd0 korelacji ID: b4809815-2755-4de1-bd1b-0221d74fd0f0 znacznika czasu: 17.03.2016 11: 20: 08Z
Nie wiem, dlaczego używasz 'https: // test113.onmicrosoft.com/ftp' jako resourceURI. Zwykle używam 'https: // management.core.windows.net /' do zarządzania usługą Azure oraz 'https: // graph.windows.net' dla Graph API. –