Ich versuche, die Daten des aktuellen Benutzers mit der Graph-API abzurufen. Ich möchte das Zugriffstoken erhalten und es an die Anforderungsnachricht anhängen. Daher möchte ich die Login-Benutzeroberfläche überspringen. Irgendein Grund, den ich bekomme (401) Unauthorized Fehler, ungültiger Benutzer ... Ich registrierte meine APP (mvc) AAD und die geheime, Klientenidentifikation, Mieteridentität von dort.Benutzer konnte nicht basierend auf Zugriffstoken authentifiziert werden - MS Graph API C#
Dies ist die Methode das Token zu erhalten:
public static string GetToken()
{
string authority = "https://graph.microsoft.com/{tenantID}/oauth2/token";
string clientId = "client id";
string secret = "client secret";
string resource = "https://graph.microsoft.com";
AuthenticationContext authContext = new AuthenticationContext(authority);
ClientCredential clientCredential = new ClientCredential(clientId, secret);
AuthenticationResult authResult = authContext.AcquireToken(resource, clientCredential);
return authResult.AccessToken;
}
Und dies ist der Code, wo ich das Zugriffstoken anhängen:
public static GraphServiceClient GetAuthenticatedClient()
{
GraphServiceClient graphClient = new GraphServiceClient(
new DelegateAuthenticationProvider(
async (requestMessage) =>
{
string accessToken = GetToken();
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
}));
return graphClient;
}
Jede Beratung wäre hilfreich, beacuse ich nicht haben Idee.
Ich habe Methoden, so. var user = graphClient.Users [uid] .Request(). Wählen Sie ("displayName"). GetAsync(); und ich rufe es nach der Methode GetAuthenticatedClient wie folgt auf: GraphServiceClient graphClient = SDKHelper.GetAuthenticatedClient(); ViewBag.Name = graphService.GetMyName (graphClient); – Magg
Um die from-Benutzer-Ressource aus dem aktiven Azure-Verzeichnis zu lesen, müssen wir die Datei 'User.Read.All; Directory.Read.All; 'Erlaubnis für die App. Überprüfen Sie die Berechtigung im Azure-Portal, um sicherzustellen, dass Sie die erforderliche Berechtigung erteilt haben. Sie können diese Berechtigungen überprüfen, indem Sie das Token von [dieser Site] (https://jwt.io/) dekodieren, nachdem Sie die Berechtigung geändert haben. –
Ich habe es schon versucht, diese Berechtigungen sind erteilt. – Magg