/// <inheritdoc />
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            context.AllowOrigins(this.allowedOrigins);

            if (!await context.HasValidCredentials(this.verifyCredentials).ConfigureAwait(false))
            {
                context.SetError("invalid_grant", "The user name or password is incorrect.");
                return;
            }

            var identity = await context.CreateIdentity(this.fillClaims).ConfigureAwait(false);

            var ticket = new AuthenticationTicket(identity, null);

            context.Validated(ticket);
        }