simov / grant

OAuth Proxy
MIT License
4.09k stars 257 forks source link

Transport: querystring redirecting to / #311

Open victormier opened 1 week ago

victormier commented 1 week ago

Hi!

I tried the express transport-querystring example with the following configuration:

{
  "defaults": {
    "origin": "http://localhost:3000",
    "transport": "querystring"
  },
  "zoom": {
    "key": "...",
    "secret": "...",
  }
}

and the correct express handler

var express = require('express')
var session = require('express-session')
var grant = require('../../').express()

express()
  .use(session({secret: 'grant', saveUninitialized: true, resave: false}))
  .use(grant(require('./config.json')))
  .get('/connect/zoom/callback', (req, res) => {
    res.end(JSON.stringify(req.query, null, 2))
  })
  .listen(3000)

And the callback route http://localhost:3000/connect/zoom/callback redirects to http://localhost:3000/.

Everything works well if I change to session transport, and I think it might be related to how the session is handled, maybe the express-session package?, but I can't find it.

Is there a bug here or am I configuring something wrong?

Thanks!

simov commented 1 week ago

There is something missing in your config.json it should contain the callback key there as in the example. Basically you need to only:

  1. npm install
  2. Set your key and secret in config.json

If that didn't work I will be really surprised, but let me know.