2016-09-19 2 views
0

Ich habe versucht, JWT/OAuth mit Identität 2.1 in einer einzigen Anwendung zu implementieren MVC 5 in besseren Worten OAuth Server und der Ressourcenserver sind die gleichen, Da ich neu in das Konzept bin bin dabei, wie dies Tutorial getan hat. Im Moment habe ich steckte mit Erster SigningCredentials gehen:signingCredentials Iusse JWT/OAuth/Identität in MVC

Hier ist mein Code:

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

     var issuer = "localhost"; 
     var audience = "all"; 
     var key = Convert.FromBase64String("UHxNtYMRYwvfpO1dS5pWLKL0M2DgOj40EbN4SoBWgfc"); 
     var now = DateTime.UtcNow.AddHours(3.5); 
     var expires = now.AddMinutes(_options.AccessTokenExpireTimeSpan.TotalMinutes); 

     var signingCredentials = new System.IdentityModel.Tokens.SigningCredentials(
            new InMemorySymmetricSecurityKey(key), 
            SignatureAlgorithm, 
            DigestAlgorithm); 

     var token = new JwtSecurityToken(issuer, audience, data.Identity.Claims, 
             now, expires, signingCredentials); 

     return new JwtSecurityTokenHandler().WriteToken(token); 
    } 

In-Code oben, wenn ich es als System.IdentityModel.Token Referenz ich es nicht in JwtSecurityToken verwenden kann . Wenn ich es als Microsoft.IdentityModel.Token referenziere, benötigt das SigningCredentials nur 2 Parameter, aber ich muss 3 definieren, wie im Tutorial gezeigt. Würden Sie bitte einen Weg zur Lösung dieses Problems empfehlen? Vielen Dank im Voraus.

Antwort

1

Es scheint, Microsoft.Owin.Security.Jwt zu verwenden, das ein nugget-Paket ist - als Referenz können Sie den Quellcode herunterladen here.