public JwtResponse Execute()
        {
            var email   = _authorizationContext.IdentityName;
            var request = new CreateJwtOperationRequest
            {
                Email = email
            };

            return(_createJwtOperation.Execute(request));
        }
        public JwtResponse Execute(CreateJwtOperationRequest request)
        {
            var claims = new[] { new Claim(ClaimTypes.Name, request.Email) };

            var key         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtSettings.Secret));
            var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

            var expires = DateTime.Now.AddMinutes(_jwtSettings.AccessExpiration);

            var jwtToken = new JwtSecurityToken(_jwtSettings.Issuer, _jwtSettings.Audience, claims, expires: expires,
                                                signingCredentials: credentials);

            string token = new JwtSecurityTokenHandler().WriteToken(jwtToken);


            var result = new JwtResponse
            {
                Expires = expires,
                Token   = token
            };

            return(result);
        }