private static TokenHolder CreateToken(EmployeeToken employeeInfo) { if (employeeInfo.VerifyObjectNull(throwEdit: false)) { throw new EditException() { Edits = (new List <Edit>() { new Edit() { FieldName = "Invalid Data", Message = "Data should not be null." } }) }; } TokenHolder tokenHolder = new TokenHolder(); var currentTime = (long)(DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime()).TotalSeconds; var payload = new Dictionary <string, object>(); payload.Add("userInfo", employeeInfo); payload.Add("exp", currentTime + EXPIRYTIME); IJwtAlgorithm algorithm = new HMACSHA256Algorithm(); IJsonSerializer serializer = new JsonNetSerializer(); IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder(); IJwtEncoder encoder = new JwtEncoder(algorithm, serializer, urlEncoder); tokenHolder.AccessToken = encoder.Encode(payload, SECRETKEY); var refreshPayload = new Dictionary <string, object>(); refreshPayload.Add("userInfo", employeeInfo); refreshPayload.Add("CurrentDate", DateTime.Now.ToString()); tokenHolder.RefreshToken = encoder.Encode(payload, REFRESHSECRETKEY); return(tokenHolder); }
public EmployeeToken DecodeToken(string token) { if (string.IsNullOrEmpty(token)) { throw new EditException() { Edits = (new List <Edit>() { new Edit() { FieldName = "Token", Message = "Invalid Token." } }) }; } else { EmployeeToken employeeTokenInfo = TokenManager.DecodeToken(token); if (employeeTokenInfo.VerifyObjectNull(throwEdit: false)) { throw new EditException() { Edits = (new List <Edit>() { new Edit() { FieldName = "Token", Message = "Invalid Token." } }) }; } else { return(employeeTokenInfo); } } }