0

我正在为 Freshdesk 设置 OAuth SSO。我希望我的应用程序的用户能够登录到我的 Freshdesk 支持站点,而无需创建新的用户名/密码。

到目前为止,以下步骤有效:

  • 我的站点用户单击“支持”菜单项
  • Freshdesk SSO 登录页面出现
  • 我的用户在那里单击“客户端登录”
  • Freshdesk 使用我的应用程序正确处理的 GET 请求访问我的授权 URL
  • Freshdesk 向我的同一个授权 URL 发出了一个 OPTIONS 请求,我没有做任何事情(除了调用next()
  • Freshdesk 使用包含一个 POST 请求的相同授权 URLredirect_uri

这是我遇到麻烦的时候。我的服务器需要向redirect_uriFreshdesk 提供的服务器发送一些信息,但出现 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()

这是错误消息:

在此处输入图像描述

我该如何解决?

4

1 回答 1

0

我认为我的帐户设置中的 Freshdesk 端存在错误。理论:当我第一次创建我的 Freshdesk 帐户时,我使用了默认 URL。后来我要求更改它们以反映我的应用程序名称,Freshdesk 进行了更改。当时他们可能错过了更新某些配置。

我已转到更适合我的应用程序的其他帮助台。

于 2021-02-25T19:17:27.570 回答