public static string GenerateResetToken(UserReadDTO user, TokenProviderOption UserTokenOption)
        {
            DateTime now             = DateTime.Now;
            var      resetJwt        = new JwtSecurityToken(UserTokenOption.Issuer, UserTokenOption.Audience, claims: GetTokenClaims(user, now), notBefore: now, expires: now.Add(UserTokenOption.ResetExpiration), signingCredentials: UserTokenOption.SigningCredentials);
            var      encodedResetJwt = new JwtSecurityTokenHandler().WriteToken(resetJwt);

            return(encodedResetJwt);
        }
        public static TokenResponse GenerateTokens(UserReadDTO user, TokenProviderOption UserTokenOption)
        {
            DateTime now              = DateTime.Now;
            var      accessJwt        = new JwtSecurityToken(UserTokenOption.Issuer, UserTokenOption.Audience, claims: GetTokenClaims(user, DateTime.Now), notBefore: DateTime.Now, expires: DateTime.Now.Add(UserTokenOption.AccessExpiration), signingCredentials: UserTokenOption.SigningCredentials);
            var      encodedAccessJwt = new JwtSecurityTokenHandler().WriteToken(accessJwt);

            var refreshJwt        = new JwtSecurityToken(UserTokenOption.Issuer, UserTokenOption.Audience, claims: GetTokenClaims(user, now), notBefore: now, expires: now.Add(UserTokenOption.RefreshExpiration), signingCredentials: UserTokenOption.SigningCredentials);
            var encodedRefreshJwt = new JwtSecurityTokenHandler().WriteToken(refreshJwt);

            return(new TokenResponse
            {
                AccessToken = encodedAccessJwt,
                AccessTokenExpiresIn = (int)UserTokenOption.AccessExpiration.TotalSeconds,
                RefreshToken = encodedRefreshJwt,
                RefreshTokenExpiresIn = (int)UserTokenOption.RefreshExpiration.TotalSeconds
            });
        }