strophe / strophejs

Strophe.js is an XMPP library for JavaScript
http://strophe.im/strophejs
MIT License
1.45k stars 361 forks source link

Invalid Token with OAuth #672

Open ghost opened 1 year ago

ghost commented 1 year ago

Hi, I use Strophe.js 1.6.0. When i want to connect to ejabberd i get the message that my token is invalid:

SENT: AGFkbWluQGx------------------------------------------------

RECEIVED: Invalid token

The way I initiate:

    const xmppServer = 'my-chat.de';
    const xmppUsername = 'admin';
    const oauthToken = 'xxxxxxxxxxxxxxxxxxxiKjRErde70gWwTR1';
    const boshEndpoint = `https://${xmppServer}/bosh`;

    const from = `${xmppUsername}@${xmppServer}`;
    const to = 'test@my-chat.de';

    // Baut Verbindung zu bosh auf.
    const connection = new Strophe.Connection(boshEndpoint);

    const saslOAuthBearer = new Strophe.SASLMechanism(connection);
    saslOAuthBearer.priority = 40;
    saslOAuthBearer.isClientFirst = false; // Setze isClientFirst auf false

    connection.connect(from, oauthToken, (status, condition) => {
            ........
    },
        null,
        null,
        xmppServer,
        {
        mechanism: 'X-OAUTH2',
        oauth_token: oauthToken
    });
    //console.log(saslOAuthBearer);
    console.log(connection);

Tokens are valid and ejabberd works fine with other clients: xxxxxxxxxxxxxxxxxxxMPUMWUrWxi7gikDN admin@my-chat.de [<<"ejabberd:user">>] 3515141 seconds xxxxxxxxxxxxxxxxxxxiKjRErde70gWwTR1admin@my-chat.de [<<"ejabberd:user">>] 3516603 seconds xxxxxxxxxxxxxxxxxxx5iUQJZ8jrziUn8Qd admin@my-chat.de [<<"ejabberd:admin">>] 3512742 seconds xxxxxxxxxxxxxxxxxxxdZwjBwhau0C4nXvEpt testuser@my-chat.de [<<"sasl_auth">>] 217439 seconds xxxxxxxxxxxxxxxxxxxa5QFXDaY89qcN7iA testuser@my-chat.de [<<"ejabberd:admin">>] 217379 seconds xxxxxxxxxxxxxxxxxxxwZnjqzHPM4fZYv testuser@my-chat.de [<<"sasl_auth">>,<<"get_roster">>] 217448 seconds

Neustradamus commented 11 months ago

@jcbrand: Have you seen this ticket?