0
我试图使用JWT验证在.NET中获得签名和我需要的结果是这样的:无法从JwtSecurityToken
页眉: {"alg":"HS512"}
有效载荷:
{"sub":"SomeSubject","nbf":1458315105,"exp":1458316305,"iat":1458315705}
我写的follwoing代码来获取JWT签名令牌:
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;
}
有了这段代码,我只能得到Header和Payload的加密,我没有签名。我查看了很多地方,但找不到能够产生类似有效负载和标题的示例。
1-如何将签名凭证添加到toeken
;无法设置SigningCredentials,SigningToken和SigningKeys。不确定签名凭证应该适合的位置。
2-之后,Signature如何产生?