我正在为 Freshdesk 设置 OAuth SSO。我希望我的应用程序的用户能够登录到我的 Freshdesk 支持站点,而无需创建新的用户名/密码。
到目前为止,以下步骤有效:
- 我的站点用户单击“支持”菜单项
- Freshdesk SSO 登录页面出现
- 我的用户在那里单击“客户端登录”
- Freshdesk 使用我的应用程序正确处理的 GET 请求访问我的授权 URL
- Freshdesk 向我的同一个授权 URL 发出了一个 OPTIONS 请求,我没有做任何事情(除了调用
next()
) - Freshdesk 使用包含一个 POST 请求的相同授权 URL
redirect_uri
这是我遇到麻烦的时候。我的服务器需要向redirect_uri
Freshdesk 提供的服务器发送一些信息,但出现 CORS 错误。
这是我的服务器代码:
const clientId = req.body.client_id;
const code = Random.secret();
const q = new URLSearchParams({
code: code,
user: user._id,
state: req.body.state
})
const finalRedirectUri = `${req.body.redirect_uri}?${q}`
console.info(finalRedirectUri)
const headers = {
'Access-Control-Allow-Origin': '*'
}
res.writeHead(302, { headers, Location: finalRedirectUri})
res.end()
这是错误消息:
我该如何解决?