我正在创建一个概念 API 与 OAuth 身份验证集成。当用户单击允许访问按钮并且 OAuth 跟随点击我的回调 URL 时,我不断收到invalid_client错误。此外,auth_token是通过集成控制台中提供的client_id:client_secret以 base64 格式创建的。当 OAuth 进程访问我的回调 URL 时,代码作为查询参数返回。
我错过了什么?
const code = req.query.code;
const auth_token = Buffer.from(
"my_oauth_client_id:my_oauth_client_secret" // provided in integration panel
).toString("base64");
await axios
.post(
"https://api.notion.com/v1/oauth/token", {
code,
grant_type: "authorization_code",
redirect_uri: "https://notion-fastlane-web-2hfaoof9v-oak93.vercel.app/api/notion/oauth/callback",
}, {
headers: {
"Content-Type": "application/json",
Authorization: `Basic ${auth_token}`,
},
}
)
.then(() => res.status(200).send("OK"))
.catch((error) => {
res.status(error.response.status).send(error.response.data);
});
};