kann nicht konvertieren von Microsoft.IdentityModel.Token.SymmetricSecurityKey' zu 'Microsoft.IdentityModel.Token.SigningCredentials'

Während der folgenden Anleitung
Erstellen Sie eine RESTful API mit Authentifizierung über Web-API und Jwt Ich habe Probleme dabei, die CustomJwtFormat Klasse zu kompilieren:

using System.IdentityModel.Tokens;
using Microsoft.Owin.Security;
using Microsoft.Owin.Security.DataHandler.Encoder;
using Thinktecture.IdentityModel.Tokens;

namespace BooksAPI.Identity
{    
    public class CustomJwtFormat : ISecureDataFormat<AuthenticationTicket>
    {
        private static readonly byte[] _secret =              
             TextEncodings.Base64Url.Decode(ConfigurationManager.AppSettings["secret"]);
        private readonly string _issuer;

        public CustomJwtFormat(string issuer)
        {
            _issuer = issuer;
        }

        public string Protect(AuthenticationTicket data)
        {
            if (data == null)
                throw new ArgumentNullException(nameof(data));

            var signingKey = new HmacSigningCredentials(_secret);
            var issued = data.Properties.IssuedUtc;
            var expires = data.Properties.ExpiresUtc;

            return new JwtSecurityTokenHandler().WriteToken(
               new JwtSecurityToken( _issuer, null, data.Identity.Claims,
                   issued.Value.UtcDateTime, expires.Value.UtcDateTime, signingKey));
        }

        public AuthenticationTicket Unprotect(string protectedText) {
            throw new NotImplementedException();
        }
    }
}

Den build-Fehler, die ich bekommen hab ist:

Nicht konvertieren
'Thinktecture.IdentityModel.Token.HmacSigningCredentials' zu
'Microsoft.IdentityModel.Token.SigningCredentials'

Haben gesucht, fand ich diese ja posten:

ASP.NET v5-Mehrere SigningCredentials

Ich habe versucht die Empfehlung in der Antwort-post, aber ohne Erfolg. Ich folgte dem link:

Mehrdeutiger Verweis-Problem (Microsoft.AspNet.Identity & Microsoft.AspNet.Identität.Kern)

Aber bin immer noch zu sehen, den Konflikt. Die Paket-und namespace-Kombination sollte ich verwenden?

InformationsquelleAutor Matt W | 2017-01-31
Schreibe einen Kommentar