问题描述
我正在尝试使用 OAuth 2.0 连接到 Freshdesk,以便从我的应用进行单点登录。我的应用程序充当它自己的 OAuth 身份提供者。我已经在 Freshdesk 上设置了我的授权网址——我们称之为 https://www.myWebApp.com/auth
:
现在出于测试目的,我转到 Freshdesk 支持为用户提供的 URL 以启动单点登录过程:
https://myWebApp.freshdesk.com/login/normal
我为我的网站用户之一输入了正确的电子邮件和密码,然后点击“登录”。
现在在 Chrome 网络选项卡中,我期望看到 Freshdesk 尝试 ping 我的授权 URL。但我没有。我看到了:
加载时,我的身份验证页面 (https://myWebApp.com/auth
) ping 我的服务器,它发出 console.log()
消息,而我的服务器日志没有显示这样的控制台日志消息——所以 Freshdesk 似乎没有ping 我的身份验证页面。
是什么让 Freshdesk 无法正常 ping 我的身份验证页面?
解决方法
这里可能有一些你已经准备好的,但我只是为了完整性而添加它。
登录后台和联系人的安全页面
https://stackoverflow.myfreshworks.com/security/contacts
[stackoverflow == your site :) ]
如果您还没有自定义策略,则必须创建一个自定义策略(这与 Agent 的策略不同)
为此,请使用 Oauth 2.0 配置您的 SSO
然后,如果您至少配置了一个 SSO,则您的登录名(在 https://stackoverflow.freshdesk.com/support/login 处)应如下所示:
现在出现 (1) 的位置。这将是通过您为 SSO 设置的 url ping 您的服务器的链接:
如果您只为您的联系人设置了一个 SSO,则链接 (1) 应直接完成登录过程,然后您最终应以特定联系人的身份登录 Freshdesk。
如果您设置了两个 SSO 选项;例如:
...当您点击 https://stackoverflow.freshdesk.com/support/login 页面上的链接 (1) 时,您应该会被重定向到具有这两个选项的页面:
该页面的 url 类似于(参数会因您而异):
https://stackoverflow.myfreshworks.com/login
?redirect_uri=https://stackoverflow.freshdesk.com/freshid/customer_authorize_callback
&client_id=14416083630394368&slug=6117145232763
我想您可以将其用作指向主站点上门户的直接链接。
如果您只设置了一个 SSO 选项,您应该能够直接导航到上述链接,然后看到:
这可能就是您的目标。
我更改了该按钮的名称(使用联系人 SSO 登录),只是为了确保我使用的是正确的按钮,并与代理登录区分开来。您可以在配置 SSO 时更改高级选项下的文本:
希望这对您有所帮助 - 如果您对此帖子有任何其他问题,请将其作为评论。