public string GenerateJwtTokenAsync(string userEmail, string password) { if (!String.IsNullOrEmpty(password)) { if (!_membershipProvider.VerifyUserPassword(userEmail, password)) { return("Wrong access"); } } List <Claim> claims = _membershipProvider.GetUserClaims(userEmail); string publicAndPrivateKey = _rsaProvider.GetPrivateAndPublicKeyAsync(); if (publicAndPrivateKey == null) { return("RSA key error"); } RSACryptoServiceProvider publicAndPrivate = new RSACryptoServiceProvider(); publicAndPrivate.FromXmlString(publicAndPrivateKey); JwtSecurityToken jwtToken = new JwtSecurityToken ( issuer: "Any", audience: "Any", claims: claims, signingCredentials: new SigningCredentials(new RsaSecurityKey(publicAndPrivate), SecurityAlgorithms.RsaSha256Signature), expires: DateTime.Now.AddDays(30) ); JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler(); string tokenString = tokenHandler.WriteToken(jwtToken); return(tokenString); }