Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oauth 2.0 Freshdesk OAuth SSO:Freshdesk登录页面不';t Ping我的身份验证页?_Oauth 2.0_Authorization_Single Sign On_Freshdesk - Fatal编程技术网

Oauth 2.0 Freshdesk OAuth SSO:Freshdesk登录页面不';t Ping我的身份验证页?

Oauth 2.0 Freshdesk OAuth SSO:Freshdesk登录页面不';t Ping我的身份验证页?,oauth-2.0,authorization,single-sign-on,freshdesk,Oauth 2.0,Authorization,Single Sign On,Freshdesk,我正在尝试使用OAuth 2.0连接到Freshdesk,以便从我的应用程序进行单点登录。我的应用程序正在充当自己的OAuth身份提供商。我已经在Freshdesk上设置了我的授权url——我们称之为https://www.myWebApp.com/auth: 因此,现在出于测试目的,我转到Freshdesk支持为用户提供的URL,以启动单一登录过程: …我看到了一个漂亮的sso风格的登录屏幕: 我为我的一个站点用户输入正确的电子邮件和密码,然后单击“登录” 现在在Chrome网络选项卡中

我正在尝试使用OAuth 2.0连接到Freshdesk,以便从我的应用程序进行单点登录。我的应用程序正在充当自己的OAuth身份提供商。我已经在Freshdesk上设置了我的授权url——我们称之为
https://www.myWebApp.com/auth

因此,现在出于测试目的,我转到Freshdesk支持为用户提供的URL,以启动单一登录过程:

…我看到了一个漂亮的sso风格的登录屏幕:

我为我的一个站点用户输入正确的电子邮件和密码,然后单击“登录”

现在在Chrome网络选项卡中,我希望看到Freshdesk尝试ping我的授权URL。但我没有。我看到:

加载时,我的身份验证页(
https://myWebApp.com/auth
)ping我的服务器,它会发出一条
console.log()
消息,而我的服务器日志没有显示这样的控制台日志消息——因此Freshdesk似乎根本没有ping我的身份验证页面


是什么让Freshdesk无法按应有的方式ping我的授权页面?

这里可能有相当一部分您已经准备好了,但我只是为了完整性而添加它

登录到后端和联系人的安全页面

 https://stackoverflow.myfreshworks.com/security/contacts 
 [stackoverflow == your site :) ]
如果还没有自定义策略,则必须创建自定义策略(这与代理的策略不同)

为此,请使用Oauth 2.0配置SSO

然后,如果您至少配置了一个SSO,那么您的登录(at)应该如下所示:

其中(1)现在出现。这将是通过为SSO设置的URL ping服务器的链接:

如果您只为联系人设置了一个SSO,则链接(1)应直接完成登录过程,然后您应作为特定联系人登录Freshdesk

如果设置了两个SSO选项;例如:

…当您单击页面上的链接(1)时,应将您重定向到具有以下两个选项的页面:

该页面的url类似于(参数将因您而异):

我想你可以用它直接链接到你的主站点上的门户网站

如果只设置了一个SSO选项,则应能够直接导航到上述链接,然后查看:

这可能就是你的目标

我更改了该按钮的名称(使用联系人SSO登录),以确保我使用的是正确的按钮,并与代理的登录区别开来。配置SSO时,可以更改“高级选项”下的文本:


希望这对您有所帮助-如果您对此有任何其他问题,请将其作为评论发布。

在登录屏幕上,您是否看到另一个通过SSO登录的按钮?我没有。我帖子中的图片显示了整个登录对话框。我真的很难让SSO在我这边工作-你有没有整理过你的SSO?我已经把它放到我这边了,所以如果你还在处理这个问题,请告诉我,我会尝试帮助你。嘿@MhluziBhaka,我仍然在努力让它运行,非常感谢你的帮助!我迫不及待地想解决这个问题!我会让你知道事情的进展。这很有帮助!这里有个问题。当用户单击图示中的链接(1)时,Freshdesk将ping我的服务器上的auth端点。在这一点上,我的服务器如何判断哪个用户正在尝试登录Freshdesk?我是否应该在我的用户在我的网站上单击的链接中对用户id进行编码,从而将他或她带到链接(1)所在的Freshdesk页面?我发现,当我的应用程序将我的用户发送到Freshdesk登录页面时,我的应用程序包含一个
状态
变量。当使用cicks链接(1)时,相同的
状态
数据返回到我的服务器。我是否需要将用户id存储在
状态
数据中(可能是加密的),以便当用户单击链接(1)时,我的服务器可以看到它是什么用户?好的,我一直在研究,我发现
状态
是一个随机字符串。当它从FreshDesk返回时,客户端或服务器可以检查它是否合法。如果我想让服务器做这件事,我首先需要修改数据库以存储
状态
值并命名相关用户。是的,这有点像踢踏舞。您将以登录用户的身份从您的站点向Freshdesk发送初始请求,因此您将仅在访问令牌(批准后)中向Freshdesk发送用户id。Freshdesk然后向您的userinfo URL请求用户详细信息。
https://stackoverflow.myfreshworks.com/login
?redirect_uri=https://stackoverflow.freshdesk.com/freshid/customer_authorize_callback
&client_id=14416083630394368&slug=6117145232763