Я реализую аутентификацию через веб-перехватчик Slack с помощью функции Firebase Cloud. Однако приложение перенаправляется на /api/auth/slack/undefined
после выбора канала, по которому я получаю уведомление. Он должен быть перенаправлен на /api/auth/slack/callback
.
Ошибка: не удалось обработать запрос (/ api / auth / slack / undefined)
Настройка приложения Slack завершена: Код 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-адреса обратного вызова. Это тоже неправильно?