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