public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { try { using (var db = new TESTEntities()) { if (db != null) { var empl = db.Employees.ToList(); var users = db.Users.ToList(); var roles = db.Roles.ToList(); if (users != null) { var user = (from u in users where u.UserName == context.UserName && u.Password == context.Password select new { u.Name, u.UserName, u.Id, u.RoleId, }).FirstOrDefault(); if (user != null) { var usr = new User() { Id = user.Id, UserName = user.UserName, Name = user.Name, RoleId = user.RoleId, Role = GetRole(user.RoleId) }; await Task.Run(() => context.Validated(BuildTicket(usr, context.Options))); } else { context.SetError("invalid_grant", "Provided username and password is incorrect"); return; } } else { context.SetError("invalid_grant", "Provided username and password is incorrect"); return; } } } } catch (Exception ex) { context.SetError("invalid_grant", "Provided username and password is incorrect"); return; } }
private Role GetRole(int roleId) { using (var db = new TESTEntities()) { if (db != null) { var roles = db.Roles.ToList(); var role = (from u in roles where u.RoleId == roleId select new { u.RoleType, u.RoleId }).FirstOrDefault(); Role rl = new Role(); rl.RoleId = role.RoleId; rl.RoleType = role.RoleType; return(rl); } else { return(null); } } }