· 7 years ago · Nov 01, 2018, 01:20 PM
1public HttpResponseMessage Get()
2 {
3 var secretKey = Convert.ToBase64String(Encoding.UTF8.GetBytes("MYSECRETKEY"));
4 var symmetricKey = Convert.FromBase64String(secretKey);
5 var tokenHandler = new JwtSecurityTokenHandler();
6
7 var now = DateTime.UtcNow;
8 var tokenDescriptor = new SecurityTokenDescriptor
9 {
10 Subject = new ClaimsIdentity(new[]
11 {
12 new Claim(ClaimTypes.Name, "John")
13 }),
14
15 Expires = now.AddMinutes(Convert.ToInt32(5)),
16
17 SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(symmetricKey), SecurityAlgorithms.HmacSha256Signature)
18 };
19
20 var stoken = tokenHandler.CreateToken(tokenDescriptor);
21 var token = tokenHandler.WriteToken(stoken);
22
23 return Request.CreateResponse(HttpStatusCode.OK, token);
24 }
25
26System.ArgumentOutOfRangeException
27 HResult=0x80131502
28 Message=IDX10603: Decryption failed. Keys tried: '[PII is hidden]'.
29Exceptions caught:
30 '[PII is hidden]'.
31token: '[PII is hidden]'
32Parameter name: KeySize
33 Source=Microsoft.IdentityModel.Tokens
34 StackTrace:
35 at Microsoft.IdentityModel.Tokens.SymmetricSignatureProvider..ctor(SecurityKey key, String algorithm, Boolean willCreateSignatures)
36 at Microsoft.IdentityModel.Tokens.CryptoProviderFactory.CreateSignatureProvider(SecurityKey key, String algorithm, Boolean willCreateSignatures)
37 at Microsoft.IdentityModel.Tokens.CryptoProviderFactory.CreateForSigning(SecurityKey key, String algorithm)
38 at Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.CreateEncodedSignature(String input, SigningCredentials signingCredentials)
39 at System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateJwtSecurityTokenPrivate(String issuer, String audience, ClaimsIdentity subject, Nullable`1 notBefore, Nullable`1 expires, Nullable`1 issuedAt, SigningCredentials signingCredentials, EncryptingCredentials encryptingCredentials)
40 at System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.CreateToken(SecurityTokenDescriptor tokenDescriptor)
41 at Life_Saving_Society_Malaysia.Controllers.LoginController.Get() in C:UsersLucas PCsourcereposLife Saving Society MalaysiaLife Saving Society MalaysiaControllersLoginController.cs:line 35
42 at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_1.<GetExecutor>b__3(Object instance, Object[] methodParameters)
43 at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)
44 at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)