public async Task <JsonWebToken> Create(ILAUser user, UserManager <ILAUser> userManager) { var nowUtc = DateTime.UtcNow; var expires = nowUtc.AddMinutes(_options.ExpiryMinutes); var exp = ((DateTimeOffset)expires).ToUnixTimeSeconds(); var iat = ((DateTimeOffset)nowUtc).ToUnixTimeSeconds(); var guid = Guid.NewGuid().ToString(); var payload = new JwtPayload { { JwtRegisteredClaimNames.Sub, user.Id }, { JwtRegisteredClaimNames.Iss, _options.Issuer }, { JwtRegisteredClaimNames.Iat, iat }, { JwtRegisteredClaimNames.Exp, exp }, { JwtRegisteredClaimNames.Jti, guid } }; await _tokenManager.ActivateAsync(guid); return(new JsonWebToken { AccessToken = _jwtSecurityTokenHandler.WriteToken(new JwtSecurityToken(_jwtHeader, payload)), Expires = exp }); }