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; } }