Não é possível autorizar o usuário no Facebook JS SDK: "Este código de autorização foi usado" ou como obter um novo token de autorização?

Estou tentando usar o Facebook para autenticar usuários. Ele funciona ok, exceto para chamadas Ajax. Na maioria das vezes, basta enviar o token antigo e recebo:

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

Então, o que eu tentei fazer é envolver cada chamada ajax com

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

isso não funcionou, então eu adicionei: true como parâmetro para getLoginStatus para evitar o cache:

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

Ótimo! Exceto que é terrivelmente lento. Estou fazendo algo errado? Posso obter um novo token após cada ação, por isso não preciso esperar antes do próximo?

Obrigado W

questionAnswers(1)

yourAnswerToTheQuestion