我正在尝试制作一个缩放 oauth2.0 应用程序。为了做到这一点,我正在制作一个访问缩放 api 的后端路由。我正在尝试执行位于https://marketplace.zoom.us/docs/guides/auth/oauth的第 1 步和第 2 步,但在第 2 步(获取令牌的发布请求)时遇到问题。这是我的代码:
router.get('/zoom', auth, async (req, res) => {
if (req.query.code) {
const url = `https://zoom.us/oauth/token?grant_type=authorization_code&code=${req.query.code}&redirect_uri=${CLIENT_HOME_PAGE_URL}`;
const headers = {
'Content-Type': 'application/json',
Authorization:
'Basic clientid:clientsecret'
};
try {
const res = await axios.post(url, null, { headers: headers });
console.log(res);
} catch (err) {
console.error(err.message);
return res.status(500).send('Sever Error');
}
}
res.redirect(
`https://zoom.us/oauth/authorize?response_type=code&client_id=${ZOOM_CLIENT_ID}&redirect_uri=${ZOOM_REDIRECT_URI}`
);
});
此时,我只想打印数据。ZOOM_REDIRECT_URI
指向相同的路由,'/zoom'
并clientid:clientsecret
替换为实际客户端 ID 和密码的 base64string 版本。我能够被重定向到https://zoom.us/oauth/authorize,它将我重定向回/zoom
并尝试向该 url 发出发布请求,但发布请求失败,状态为 403。我的代码有什么问题?