2016-07-06 17 views
12

Ich habe mein vorhandenes Web-API-Projekt aktualisiert, um das neueste System.IdenityModel.Tokens.Jwt-Paket zu verwenden, und ich erhalte Folgendes Fehler:Ausnahme mit System.IdentityModel.Tokens.Jwt 5.0.0.127 in Web Api 2 auf .Net 4.6

Typ konnte nicht 'System.IdentityModel.Tokens.TokenValidationParameters' aus Assembly 'System.IdentityModel.Tokens.Jwt, Version = 5.0.0.127, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' laden.

Alles funktioniert gut mit 4.0-Version des gleichen Pakets. Hat jemand das gleiche Problem, wenn ja, wie löst man das?

Soma.

Antwort

18

Ich habe eine Problemumgehung für das Problem gefunden. Sieht so aus, als wäre dies ein bekanntes Problem. Bitte lesen Sie this.

Vielen Dank, Soma.

+1

Link hat mir nicht wirklich geholfen. Was ist die Lösung? – Zapnologica

+4

Laut der Post ist die Version 5 nicht kompatibel mit alter owin Middleware. Hier ist das Detail "Well - 5.0 bedeutet brechen Veränderung. Vielleicht ist es nicht kompatibel mit der alten OWIN Middleware" von der Verbindung. Bitte verwenden Sie die Version 4.0.2.206221351. Ich habe keinen Identity Server benutzt, aber das Problem mit dem system.identitymodel Version 5 ist mit jedem alten Katana Framework anwendbar. Hoffe das hilft. –

+0

Ich habe den Befehl nuget von der Verbindung verwendet und es hat funktioniert. Install-Paket System.IdentityModel.Tokens.Jwt-Version 4.0.2.206221351 –

1

Wenn Sie die neue Version (v5) von System.IdentityModel.Tokens.Jwt verwenden möchten und Ihr Projekt nicht auf die Version v4 beschränken möchten, habe ich ein Nuget- und Github-Projekt namens EasyJwtAuth mit v5 erstellt (Sehr einfach zu bedienen):

Nuget Paket: https://www.nuget.org/packages/EasyJwtAuth

Eine Anleitung zu verwenden: https://github.com/Xela101/EasyJwtAuth

Fühlen Sie sich frei, das Repository mit mehr Funktionen zu aktualisieren, oder einfach nur lernen/kopieren Sie den Code und Erstellen Sie einen eigenen Authentifizierungs-Wrapper.