Solicitar token con JQuery desde la API web

Estoy haciendo una solicitud ajax en Javascript para obtener un JWT de mi WebAPI AuthenticationProvider. Esta es mi función js:

    function authenticateUser(credentials) {
    var body = {
        grant_type: 'password',
        client_id: 'myClientId',
        client_secret: 'myClientSecret',
        username: credentials.name,
        password: credentials.password
    };

    $.ajax({
        url: 'http://localhost:9000/token',
        type: 'POST',
        dataType: 'json',
        contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
        /* data: JSON.stringify(body), /* wrong */
        data: body, /* right */
        complete: function(result) {
            //called when complete
            alert(result);
        },

        success: function(result) {
            //called when successful
            alert(result);
        },

        error: function(result) {
            //called when there is an error
            alert(result);
        },
    });
    session.isAuthenticated(true);
    return true;
}

Aunque el contenido se envía de la manera correcta a mis ojos, elOAuthValidateClientAuthenticationContext solo tiene valores nulos.

Mis datos de formulario copiados de la consola:

{"grant_type": "contraseña", "client_id": "myClientId", "client_secret": "myClientSecret", "nombre de usuario": "demo", "contraseña": "123"}

Respuestas a la pregunta(1)

Su respuesta a la pregunta