public async Task <string> login(HttpRequestMessage request)
        {
            try
            {
                var jObject = await request.Content.ReadAsAsync <JObject>();

                var item = JsonConvert.DeserializeObject <userLogin>(jObject.ToString());

                var userName = item.UserName;

                var password = item.Password;

                var decryptedUserName = Logindecryption.DecryptStringAES(userName);

                var decryptedPassword = Logindecryption.DecryptStringAES(password);

                bool isValidUser = BasicAuthentication.IsAuthorizedUser(decryptedUserName, decryptedPassword);

                return(isValidUser.ToString());
            }

            catch (Exception e)
            {
                return(e.ToString());
            }
        }
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var  decryptedUserName = Logindecryption.DecryptStringAES(context.UserName);
            var  decryptedPassword = Logindecryption.DecryptStringAES(context.Password);
            bool user = BasicAuthentication.IsAuthorizedUser(decryptedUserName, decryptedPassword);

            if (user)
            {
                var identity = new ClaimsIdentity(context.Options.AuthenticationType);
                identity.AddClaim(new Claim("UserName", decryptedUserName));
                identity.AddClaim(new Claim("LoggedOn", DateTime.Now.ToString()));
                context.Validated(identity);
            }
            else
            {
                context.SetError("invalid_grant", "Provided username and password is incorrect");
                return;
            }
        }
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            // BasicAuthentication auth = new BasicAuthentication();
            var decryptedUserName = Logindecryption.DecryptStringAES(context.UserName);

            var decryptedPassword = Logindecryption.DecryptStringAES(context.Password);

            bool user = BasicAuthentication.IsAuthorizedUser(decryptedUserName, decryptedPassword);

            if (user)
            {
                var identity = new ClaimsIdentity(context.Options.AuthenticationType);
                //  identity.AddClaim(new Claim(ClaimTypes.Role, user.UserRoles));
                identity.AddClaim(new Claim(ClaimTypes.Name, context.UserName));
                // identity.AddClaim(new Claim("Email", user.UserEmailID));
                context.Validated(identity);
            }
            else
            {
                context.SetError("invalid_grant", "Provided username and password is incorrect");
                return;
            }
        }