erhalten Ich versuche JWT Authentifizierung in .NET zu verwenden, und ich brauche, um das Ergebnis wie folgt aussehen:Kann nicht Signatur von JwtSecurityToken
Rubrik: {"alg":"HS512"}
Nutzlast:
{"sub":"SomeSubject","nbf":1458315105,"exp":1458316305,"iat":1458315705}
ich schrieb den follwoing Code die JWT Signed Token zu erhalten:
public async Task<string> GetJWTToken(string user)
{
var now = DateTime.UtcNow;
JwtHeader jwtHeader = new JwtHeader();
jwtHeader.Add("alg", JwtAlgorithms.HMAC_SHA512);
JwtPayload payload = new JwtPayload();
payload.Add("sub", user);
payload.Add("exp", ConvertToUnixTimestamp(now.AddMinutes(10)));
payload.Add("nbf",ConvertToUnixTimestamp(now.AddMinutes(-10)));
payload.Add("iat",ConvertToUnixTimestamp(now));
JwtSecurityToken toekn = new JwtSecurityToken(jwtHeader, payload);
SigningCredentials cred = new SigningCredentials(new InMemorySymmetricSecurityKey(Encoding.UTF8.GetBytes("SomeKey")), "http://www.w3.org/2001/04/xmldsig-more#hmac-sha512", "http://www.w3.org/2001/04/xmlenc#sha512");
//what's next?
return finalResult;
}
Mit diesem Code bekomme ich nur den Header und Payload verschlüsselt, ich bekomme keine Signatur. Ich habe mir viele Orte angesehen, konnte aber kein Beispiel finden, das ähnliche Nutzdaten und Header erzeugt.
1- Wie kann ich die Signing Credentials zu toeken
hinzufügen; SigningCredentials, SigningToken und SigningKeys können nicht festgelegt werden. Nicht sicher, wo die Anmeldedaten passen sollten.
2- wie wird die Signatur hergestellt?