2016-04-26 17 views
0

I Beispielanwendung von Microsoft graph sample appOffice 365 APIs Microsoft Graph-Authentifizierung fehlgeschlagen

registriert und Standard-Login funktioniert, aber wenn ich versuche, es simplier zu machen, indem Sie diesen Code verwenden:

 var authContext = new AuthenticationContext(Settings.AzureADAuthority); 

     var token = authContext.AcquireToken(Settings.O365UnifiedAPIResource, new ClientCredential(Settings.ClientId, Settings.ClientSecret)).AccessToken; 

ich folgende Fehlermeldung erhalten : Application with identifier '[ClientId here]' was not found in the directory microsoft.com

Weiß jemand, was das Problem sein kann?

+0

Prüfen Sie Ihre Settings.ClientId aus, haben Sie die [ClientId hier] in Ihrem Projekt mit dem String-Client-ID ersetzen Sie erhalten, wenn Sie Ihre Beispielanwendung registrieren? – Jackie

+1

@Aleksa. Ich habe das gleiche Problem wie zuvor bei Ihnen. Sie könnten Ihre AzureADAuthority als "https://login.microsoftonline.com/YourTenantName" ändern. Dann funktioniert der Code. –

+0

@NanYu Danke :) – Aleksa

Antwort

2
Settings.AzureADAuthority = @"https://login.microsoftonline.com/{tenant_id or tenant_name}"; 

Beim Erwerben des Tokens mithilfe der Clientanmeldeinformationen (Client-ID + Clientgeheimnis). Sie sollten den Mandanten explizit angeben.

Zum Beispiel:

https://login.microsoftonline.com/ {tenant_id}

oder

https://login.microsoftonline.com/ {your_domain.onmicrosoft.com}

BTW, wie diese Anmeldung für die Beispielanwendung sein wird, wird es haben Sie nur die Mail.Send-Berechtigung, die Berechtigung delegiert ist. Um das App-Token zu erwerben, müssen Sie auch der App-Level-Berechtigung in Azure AD gewähren, da Sie das App-Token und nicht das Benutzer-Token erwerben.

enter image description here

Verwandte Themen