如何在 slack oAuth 重定向 url 中使用动态重定向 urls?
How can I use dynamic redirect urls in slack oAuth redirect url?
我有一个需要文档 ID 的网页。我使用松弛身份验证进行身份验证。 (因为网页是从松弛通道请求的)。 Slack 需要重定向 URL。那么我怎样才能把这个动态重定向 URL 放到 slack 中呢?
URL => http://localhost:3000/document/
我试着这样说 => http://localhost:3000/document/<>
但是没有用。
我的代码如下所示:
router.get('/res', (req, res) =>{
console.log(req.query.code);
var url = 'https://slack.com/api/oauth.access?code='+req.query.code+'&client_id=<the client_id>&client_secret=<client_secret>&redirect_uri=http://localhost:3000/document/25/';
axios.get(url)
.then(response => {
res.send(response.data);
})
.catch(error => {
console.log('error');
});
});
我想在代码中验证后获取第25个文件。这个25的值是动态值。
这是我尝试过的:http://localhost:3000/document/<>
您不能在 OAuth 重定向上指定动态参数 URL。
但是您仍然可以在身份验证后将用户重定向到动态 URL。不要将文档 ID 放在 URL 中,而是将其放在当前服务器会话中。然后,一旦从 Slack 向您的应用发出请求 returns,只需从当前会话中获取文档 ID 并重定向用户。
应该是直截了当的,因为出于安全目的,无论如何您都需要使用服务器会话来验证 OAuth state
。
我有一个需要文档 ID 的网页。我使用松弛身份验证进行身份验证。 (因为网页是从松弛通道请求的)。 Slack 需要重定向 URL。那么我怎样才能把这个动态重定向 URL 放到 slack 中呢?
URL => http://localhost:3000/document/ 我试着这样说 => http://localhost:3000/document/<> 但是没有用。
我的代码如下所示:
router.get('/res', (req, res) =>{
console.log(req.query.code);
var url = 'https://slack.com/api/oauth.access?code='+req.query.code+'&client_id=<the client_id>&client_secret=<client_secret>&redirect_uri=http://localhost:3000/document/25/';
axios.get(url)
.then(response => {
res.send(response.data);
})
.catch(error => {
console.log('error');
});
});
我想在代码中验证后获取第25个文件。这个25的值是动态值。
这是我尝试过的:http://localhost:3000/document/<>
您不能在 OAuth 重定向上指定动态参数 URL。
但是您仍然可以在身份验证后将用户重定向到动态 URL。不要将文档 ID 放在 URL 中,而是将其放在当前服务器会话中。然后,一旦从 Slack 向您的应用发出请求 returns,只需从当前会话中获取文档 ID 并重定向用户。
应该是直截了当的,因为出于安全目的,无论如何您都需要使用服务器会话来验证 OAuth state
。