No se puede autorizar al usuario en Facebook JS SDK: "Se ha utilizado este código de autorización" o cómo obtener un nuevo token de autorización?

Estoy tratando de usar Facebook para autenticar a los usuarios. Funciona bien, excepto para las llamadas Ajax. La mayoría de las veces solo envía el token antiguo y me sale:

{"error":{"message":"This authorization code has been used.","type":"OAuthException","code":100}}

Así que lo que intenté hacer es envolver cada llamada ajax con

FB.getLoginStatus(function(response) {
        if (response.status === 'connected') {
            return  fn();
            ...

esto no funcionó, así que agregué: verdadero como parámetro para getLoginStatus para evitar el almacenamiento en caché:

FB.getLoginStatus(function(response) {
        if (response.status === 'connected') {
            console.log('connected');
            fn();
        } else if (response.status === 'not_authorized') {
            console.log('not_authorized);
        } else {
            console.log('not_logged_in');
        }
    },true);

¡Genial! Excepto que es terriblemente lento. ¿Estoy haciendo algo mal? ¿Puedo obtener un token nuevo después de cada acción para no tener que esperar antes de la siguiente?

Gracias w

Respuestas a la pregunta(1)

Su respuesta a la pregunta