public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { korisnik user; using (var db = new prodavnicaEntities()) { // Query for the Blog named ADO.NET Blog user = db.korisnik.Where <korisnik>(k => k.username == context.UserName && k.password == context.Password) .FirstOrDefault(); if (user == null) { context.SetError("invalid_grant", "The user name or password is incorrect."); return; } else { var old = db.korisnik.Find(user.idKorisnik); korisnik korisnik = old; korisnik.datumPoslednjegLogovanja = DateTime.Now; db.Entry(old).CurrentValues.SetValues(korisnik); } } var identity = new ClaimsIdentity(context.Options.AuthenticationType); identity.AddClaim(new Claim("username", user.username)); identity.AddClaim(new Claim("role", user.role.Trim())); identity.AddClaim(new Claim("id", user.idKorisnik.ToString().Trim())); identity.AddClaim(new Claim(ClaimTypes.Role, user.role.Trim())); var props = new AuthenticationProperties(new Dictionary <string, string> { { "role", user.role.Trim() }, { "userName", context.UserName }, { "id", user.idKorisnik.ToString() } }); var ticket = new AuthenticationTicket(identity, props); context.Validated(ticket); //context.Validated(identity); }