Не удается перенаправить на '/ api / auth / slack / callback' после аутентификации Slack - PullRequest
0 голосов
/ 30 мая 2020

Я реализую аутентификацию через веб-перехватчик Slack с помощью функции Firebase Cloud. Однако приложение перенаправляется на /api/auth/slack/undefined после выбора канала, по которому я получаю уведомление. Он должен быть перенаправлен на /api/auth/slack/callback.

Ошибка: не удалось обработать запрос (/ api / auth / slack / undefined)

Настройка приложения Slack завершена: enter image description here Код Frontend:

const slackAuthorizeURL= (uid) => 
  `https://slack.com/oauth/v2/authorize?client_id=${process.env.REACT_APP_SLACK_CLIENT_ID}&scope='incoming-webhook'&redirect_uri=${process.env.REACT_APP_CLOUD_FUNCTIONS_ORIGIN}/api/auth/slack/callback&uid=${uid}&redirectTo=${window.location.href}`

<a href={slackAuthorizeURL('uid')}>Add to Slack</a>

Код сервера:

const { WebClient } = require('@slack/web-api')
app.get('/auth/slack/callback', (req, res) => {
  handleSlackUserInfo(req)
  res.redirect(req.session.redirectTo)
})

const handleSlackUserInfo = async (req) => {
  const { code, uid, redirectTo } = req.session
  const result = await new WebClient().oauth.v2.access({
    client_id: config.slack.client_id,
    client_secret: config.slack.client_secret,
    code,
  })
  console.log("result", result)
}

Я добавил uid=${uid}&redirectTo=${window.location.href} после URL-адреса обратного вызова. Это тоже неправильно?

...