Ich habe ein Xamarin.iOS-Projekt und möchte mich bei Azure authentifizieren. Das Endziel ist, dass sich der Benutzer nicht anmelden und hinter den Kulissen authentifizieren muss. Wenn ich AuththenticationContext instanziiere, erhalte ich diesen Fehler. "Datei oder Assembly konnte nicht geladen werden" Microsoft.IdentityModel.Clients.ActiveDirectory.Platform '". Ich habe Microsoft.IndentityModel.Clients.ActiveDirectory v3.13.9 von Nuget installiert und die using-Anweisung befindet sich oben im Code. Die DLL ist so eingestellt, dass sie lokal kopiert wird. Ich weiß nicht, warum das nicht funktioniert. Ich habe sogar das Nuget-Paket deinstalliert und die DLLs zum Projekt hinzugefügt und sie direkt referenziert und den gleichen Fehler erhalten. Unten ist der Code, den ich versuche, Arbeit zu machen. Erneut bricht es ab, wenn AuthenticationContext instanziiert wird, so dass ich den Rest nicht einmal testen kann. Ich habe die folgenden zwei Websites zur Anleitung verwendet, https://blog.xamarin.com/authenticate-xamarin-mobile-apps-using-azure-active-directory/Konnte Datei oder Assembly nicht laden 'Microsoft.IdentityModel.Clients.ActiveDirectory.Platform'
Ich fand diesen "Bug" hier, aber die Lösung funktioniert nicht, noch ergibt es für mich Sinn. Ich bin mir nicht sicher, wo ich den Code ablegen soll und bekomme auch den Zugriffsfehler. https://forums.xamarin.com/discussion/45425/azure-authentication-microsoft-identitymodel-clients-activedirectory-platform-no-working
var authContext = new AuthenticationContext(aadInstance);
ClientCredential clientCredential = new ClientCredential(clientId, appKey);
// ADAL includes an in memory cache, so this call will only send a message to the server if the cached token is expired.
AuthenticationResult result = authContext.AcquireTokenAsync(AMServiceResourceId, clientCredential).Result;
WebRequest Request =
WebRequest.Create(
new Uri(@<API call to test connection>));
Request.ContentType = "application/json";
Request.Method = "Get";
Request.Proxy = null;
Request.Timeout = 5000;
Request.Headers.Add("Authorization", "Bearer" + result.AccessToken);
Da der Stack-Überlauf mich nicht mehr als zwei Links posten kann, weil ich nicht genug Reputationspunkte habe. Hier ist ein weiterer Link, den ich benutzt habe. https://blog.xamarin.com/put-adal-xamarin-forms/ –
Können Sie bitte versuchen mit ADAL.NET 3.17. Wir haben es heute veröffentlicht. –