public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context_)
        {
            context_.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
            var user = await _repository.FindUser(context_.UserName, context_.Password);

            if (user == null)
            {
                context_.SetError("invalid_grant", "O usuario ou senha estao incorretos");
                return;
            }

            var identity = await _repository.CreateIdentityAsync(user, context_.Options.AuthenticationType);

            identity.AddClaims(ExtendedClaimsProvider.GetClaims(user));

            var ticket = new AuthenticationTicket(identity, AuthUtil.GetProperties(user, identity.Claims));

            context_.Validated(ticket);
        }