oauth2orize icon indicating copy to clipboard operation
oauth2orize copied to clipboard

Error: Unable to issue redirect for OAuth 2.0 transaction

Open mickgraham opened this issue 8 years ago • 3 comments

I am getting this error implementing the Authorization Code flow.

Error: Unable to issue redirect for OAuth 2.0 transaction at Function.exports.validate (.../node_modules/oauth2orize/lib/response/query.js:19:33) ...

I am including the redirect_uri as a parameter but the transaction is not picking it up in the correct place.

The code is expecting 'txn.redirectURI' to exist, but the redirect uri is in 'txn.req.redirectURI' for me.

Any ideas?

mickgraham avatar Aug 05 '16 05:08 mickgraham

Hi @mickgraham, I had the same issue as you. Do you correctly return the client's redirectURI in server.authorize() like in this example ? In my case, the error was due to this oversight.

app.get('/dialog/authorize',
  login.ensureLoggedIn(),
  server.authorize(function(clientID, redirectURI, done) {
    Clients.findOne(clientID, function(err, client) {
      if (err) { return done(err); }
      if (!client) { return done(null, false); }
      if (!client.redirectUri != redirectURI) { return done(null, false); }
      return done(null, client, client.redirectURI);
    });
  }),
  function(req, res) {
    res.render('dialog', { transactionID: req.oauth2.transactionID,
                           user: req.user, client: req.oauth2.client });
  });

MatthieuNICOLAS avatar Aug 18 '16 07:08 MatthieuNICOLAS

There is a typo in return done(null, client, client.redirectURI); should be return done(null, client, client.redirectUri);

jambyung avatar Oct 29 '16 00:10 jambyung

You must declare your redirect_uri like below:

<Auth0Provider domain="your-domain.us.auth0.com" clientId="your_auth0_client_id" authorizationParams={{ redirect_uri: window.location.origin }} >

parham-ab avatar Feb 11 '23 08:02 parham-ab