单点登录是一种允许您对系统中的用户进行身份验证并随后告诉Zendesk用户已通过身份验证的机制。亚博如果您使用带有JSON Web令牌(JWT)的单点登录,则用户在登录时将自动通过身份提供程序进行验证。然后允许用户访问Zendesk,而不需要提示用户输入单独的登录凭据。亚博
作为Zen亚博desk管理员,您的角色包括启用SSO选项。本文描述了如何启用多个JWT单点登录配置,这些配置可用于对团队成员(管理员和代理,包括轻量级代理和贡献者)、最终用户或两者进行身份验证。
单点登录的核心是一种安全机制,它允许Zendesk信任它从您的系统收到的登录请求。亚博亚博Zendesk只授予已通过您身份验证的用户访问权限。亚博Zendesk SSO依靠JWT来保护用户身份验证数据的交换。
公司的IT团队通常负责建立和管理公司的JWT身份验证系统。它们的作用是在系统上为Zendesk实现SSO。亚博请团队参考本文中的以下主题:
相关文章:
Zendesk的JWT SSO是亚博如何工作的
启用SSO后,登录请求将被路由到Zendesk Support外部的登录页面。亚博
JWT单点登录认证流程步骤:
- 未经身份验证的用户导航到您的Zendesk支持URL。亚博例子:https://yoursubdomain.亚博zendesk.com/。
- Zend亚博esk单点登录机制可以识别已启用的单点登录以及未对用户进行身份验证。
- 亚博Zendesk尝试确定未经身份验证的用户是最终用户还是团队成员,并将用户重定向到组织的适当远程登录页面。例子:https://mycompany.com/亚博zendesk/sso。
- 远程服务器上的脚本使用组织专有的登录过程对用户进行身份验证。
- 身份验证系统构建包含相关用户数据的JWT请求。
- 身份验证系统将用户重定向到以下带有JWT有效负载的Zendesk端点:亚博
https://yoursubdomain.亚博zendesk.com/access/jwt
- 亚博Zendesk从JWT有效负载解析用户详细信息,然后授予用户会话。
如您所见,此过程依赖于浏览器重定向和使用JWT传递签名消息。重定向完全发生在浏览器中,Zendesk和您的系统之间没有直接连接,因此您可以将身份验证脚本安全地保存在公司防火墙后面。亚博
启用JWT单点登录的要求
与公司中负责JWT身份验证系统的团队(通常是IT团队)会面,确保zendesk绑定的流量是通过HTTPS,而不是HTTP。亚博
- 远程登录URL, Zendesk用户在尝试访问Zend亚博esk时应该将其重定向
- (可选)用户退出Zendesk后,Zendesk可以重定向用户的远程注销URL亚博
- (可选)将用户重定向到适当登录选项的IP范围列表。从指定IP范围发出请求的用户被路由到远程JWT身份验证登录表单。从范围之外的IP地址发出请求的用户被路由到正常的Zendesk登录表单。亚博如果不指定范围,则将所有用户重定向到远程身份验证登录表单。
IT团队可能需要Zendesk提供的额外信息来配置JWT实现。亚博请参考技术实施工作表在本文中。
当你确认自己符合要求并掌握了所有必要的信息后,你就可以准备好了启用JWT SSO。
启用JWT单点登录
管理员可以仅为最终用户启用JWT单点登录,也可以仅为团队成员(包括轻量级代理和贡献者)启用JWT单点登录,或者同时为两个组启用JWT单点登录。您可以创建多个JWT单点登录配置。在开始之前,请从公司的IT团队获取所需的信息。看到启用JWT单点登录的要求。
启用JWT单点登录
- 在管理中心,点击账户在侧边栏中,然后选择安全>单点登录。
- 点击创建SSO配置然后选择JSON Web令牌。
- 输入唯一的配置名称。
- 为远程登录URL,输入用户在尝试访问Zendesk URL时应该被重定向的URL。亚博
亚博Zendesk自动添加brand_id参数为URL。这是用户试图登录时所使用亚博的Zendesk Support品牌。
- (可选)远程注销URL,注销URL,用户退出Zendesk后应该重定向该URL。亚博
亚博Zendesk自动添加电子邮件,external_id,brand_id参数设置为注销URL。如果不希望在URL中包含电子邮件和外部id信息,请在注销URL中指定空白参数。例子:
https://www.xyz.com/user/signout/?email=&external_id=
注意:如果您正在使用Ember.js应用程序,则需要修改注销URL,以便在散列之前使用空白参数。例如,https://somedomain.com/?brand_id=&return_to=&email=#/亚博zendesk-login/
。 - (可选)IP范围,如果希望将用户重定向到适当的登录选项,则输入IP范围列表。
从指定IP范围发出请求的用户被路由到JWT身份验证登录表单。从范围之外的IP地址发出请求的用户被路由到正常的Zendesk登录表单。亚博如果希望将所有用户重定向到JWT身份验证登录表单,则不要指定范围。
- 如果您为您的用户使用外部id,您可以在Zendesk Support中通过选择亚博在为更新外部id ?。
- 提供共享的秘密给你的IT团队。他们将需要它来实现JWT。重要的是:确保共享的秘密安全。如果它被泄露,您的支持帐户中的所有数据都处于危险之中。
- 设置好JWT单点登录配置后,单击启用所以你可以把这个选项分配给用户。
- 点击保存。
为用户分配JWT单点登录
在创建JWT SSO配置之后,必须通过将其分配给最终用户、团队成员或两者来激活它。
将SSO配置分配给团队成员或最终用户
- 为团队成员或最终用户打开Security设置。
- 如果要为团队成员分配SSO配置,请选择外部认证显示身份验证选项。
这些选项已经显示给最终用户了。
- 点击单点登录(SSO)选项中的外部认证部分,然后选择要使用的SSO配置的名称。
单点登录可能无法覆盖所有用例,因此Zendesk身份验证在默认情况下保持激活状态。亚博若要要求用户使用主SSO方法登录,请参见只允许使用SSO身份验证登录。
- 点击保存。
只允许使用SSO身份验证登录
- 为团队成员或最终用户打开Security设置。
- 为最终用户/团队成员如何登录中,选择重定向到SSO点击保存。
- 在管理中心,点击账户在侧边栏中,然后选择安全>高级。
- 单击身份验证选项卡,然后选择SSO绕过选择。
您可以选择是否只有账户所有者或全部管理员(包括帐户所有者)可以被授予对帐户的访问权限,以防外部登录提供者出现故障。
为了获得访问权限,帐户所有者或管理员请求接收包含一次性访问链接的电子邮件。单击链接授予该人员访问该帐户的权限。不需要输入密码。看到在禁用密码的情况下访问帐号。
- 点击保存。
启用JWT单点登录后在Zendesk亚博中管理用户
在Zendesk中启用JWT单点登录后,对Zendesk外部用户所做的更改亚博将同步到您的Zendesk帐户。例如,如果将一个用户添加到您的内部系统,则该用户将自动添加到您的Zendesk帐户。亚博如果用户在您的内部系统中被删除,该用户将不再能够登录到Zendesk,但是,他们的帐户仍然存在于Zendesk中。亚博
默认情况下,在启用单点登录时,Zendesk中存储的唯一用户数据是用户的姓名和电子亚博邮件地址。亚博Zendesk不存储密码。因此,您应该禁用Zendesk关于密码的任何自动电子邮件通知。亚博看到禁用来自Zendesk的密码通知邮件亚博。
为了提供更好的客户体验,您可能希望在Zendesk中存储的不仅仅是用户的姓名和电子邮件地址。亚博您可以使用附加JWT属性。
禁用来自Zendesk的密码通知邮件亚博
当用户添加到Zendesk帐户时,可能会自动发送电子亚博邮件通知给用户,要求他们验证他们的电子邮件地址并创建用户名和密码。
为通亚博过SAML或JWT访问您的Zendesk帐户的任何新用户创建Zendesk用户配置文件。因为他们使用非Zendesk密码进行身份验证,所以创建配置文件时不需要密码,因为他亚博们不需要登录到Zendesk。但是,默认情况下,每个新用户都会收到一封电子邮件,通知他们验证电子邮件地址并创建用户名和密码。
- 在管理中心,点击人在侧边栏中,然后选择配置>最终用户。
- 在账户的邮件节中,取消选择当代理或管理员创建新用户时,还要发送一封欢迎电子邮件
- 在允许用户更改密码,取消选择此选项。
生成新的共享密钥
在某些情况下,比如您的秘密被泄露,您可能需要发布一个新的JWT共享秘密,并将其提供给您的it团队或外部身份提供者。您可以从Zendesk Admin Center生成一个新的JWT共享密钥。亚博此操作将创建一个新的秘密并使旧的秘密无效。您需要通知您的IT团队或外部标识提供商您的新共享密钥,以保持Zendesk SSO帐户身份验证正常工作。亚博
生成新的共享密钥
- 在管理中心,点击账户在侧边栏中,然后选择安全>单点登录。
- 将鼠标悬停在要为其创建新共享密钥的JWT配置上,然后单击选项菜单图标(),然后选择编辑。
- 滚动到共享的秘密在配置页面底部,单击重置的秘密。
出现确认消息。
- 点击重置的秘密确认复位。
你应该看看新的共享的秘密以纯文本形式。
- 点击复制生成新的共享密钥的副本,并将其提供给您的it团队或外部身份提供者。
- 保存您的更改。
切换认证方式
需要注意的是,如果您使用第三方SSO方法在Zendesk中创建用户并对其进行身份验证,然后切换到Zendesk身份验证,那么这些用户将没有可用于登录的密码。亚博指示用户从Zendesk登录页面重置密码以获得访问权限。亚博
关于JWT的其他信息
JWT是一个由国际标准组织推动的开放标准IETF并拥有来自科技行业的顶级支持者(例如微软、Facebook和谷歌)。
JWT的基本构建块是非常容易理解的组件,其结果是一个相当简单的规范,可以在这里找到http://tools.ietf.org/html/draft-jones-json-web-token-10。有很多JWT规范的开源实现,涵盖了大多数现代技术。这意味着您可以毫不费力地设置JWT单点登录。
需要注意的一点是,JWT有效负载只是编码和签名,而不是加密,因此不要将任何敏感数据放入哈希表中。JWT通过序列化传输到字符串的JSON来工作。字符串是Base64编码的,然后JWT根据共享密钥生成Base64字符串的HMAC。这将生成一个签名,接收方可以使用该签名来验证用户。
技术实施工作表
本节是针对公司内部负责公司JWT认证系统的团队。它提供了有关Zendesk JWT SSO实现的详细信息。亚博
主题:
JWT算法
指定HS256作为JWT算法在你的JWT负载头:
{" type ":"JWT", "alg":"HS256"}
HS256代表HMAC SHA 256,是美国国家安全局设计的256位加密算法。
亚博Zendesk JWT端点
成功对用户进行身份验证后,将用户连同JWT有效负载重定向到以下Zendesk端点:亚博
https://yoursubdomain.亚博zendesk.com/access/jwt
有效负载应该是base64编码的,并作为查询字符串追加到URL。
JWT有效负载必须使用https协议发送到Zendesk Support子亚博域。例子:
https://yoursubdmain.亚博zendesk.com/access/jwt ? jwt ={载荷}
不支持主机映射子域。
JWT属性
将属性作为base64编码的散列(Ru亚博by)或字典(Python)发送到Zendesk。使用Ruby的示例:
负载= JWT。encode({:email => "bob@example.com",:name => "Bob",:iat => Time.now。To_i,:jti => rand(2<<64)。to_s},“我们共享的秘密”)
亚博Zendesk需要一个电子邮件地址来唯一标识用户。除了下表中列出的必需属性之外,您还可以选择发送其他用户配置文件数据。这些数据在您的用户管理系统和Zendesk Support之间同步。亚博
属性 | 描述 |
---|---|
iat | 发行。在生成令牌的时间,这有助于确保给定的令牌在生成后不久就被使用。该值必须是秒数UNIX新纪元。亚博Zendesk允许最多三分钟的时钟偏差,所以一定要在服务器上配置NTP或类似的。 |
jti | JSON Web令牌ID。令牌的唯一id, Zendesk使用它来防止令牌重放攻击。亚博 |
电子邮件 | 正在登录的用户的电子邮件,用于在Zendesk支持中唯一标识用户记录。亚博 |
名字 | 该用户的名称。Zendesk支持中的用亚博户将根据此创建或更新。 |
属性 | 描述 |
---|---|
external_id | 如果您的用户是由电子邮件地址以外的其他东西唯一标识的,并且他们的电子邮件地址可能会更改,则从您的系统发送唯一id。将id指定为字符串。 |
区域设置(针对最终用户) Locale_id(代理) |
Zendesk Suppor亚博t中的区域设置,用数字指定。 |
组织 | 要将用户添加到的组织的名称。 如果这个选项允许用户属于多个组织,则其他组织附加在原始组织之后,并被视为辅助组织。这不会删除现有的成员关系。 如果希望同时传递多个组织名称,请使用组织属性来代替。组织名称必须以字符串形式传递,以逗号分隔。 |
organization_id | 组织的外部ID在Zendes亚博k API中。如果同时提供了organization和organization_id,则忽略organization。 如果这个选项允许用户属于多个组织,则其他组织附加在原始组织之后,并被视为辅助组织。这不会删除现有的成员关系。 如果希望同时传递多个组织id,请使用organization_ids属性来代替。组织id必须以字符串形式传递,以逗号分隔。 |
电话 | 指定为字符串的电话号码。 |
标签 | 这是要在用户上设置的标记的JSON数组。这些标签将取代用户配置文件中可能存在的任何其他标记。 |
remote_photo_url | 要在用户配置文件上设置的照片的URL。 |
角色 | 用户的角色。该值可设置为end_user,代理,或管理。默认值为end_user。如果用户的角色与Zendesk Support中的角色不同,则会在Zendesk Suppo亚博rt中更改角色。 |
custom_role_id | 仅当用户的角色为agent时有效。 |
user_fields | 要在用户上设置的自定义用户字段键和值的JSON散列。自定义用户字段必须存在才能设置字段值。每个自定义用户字段由在用户字段admin设置中找到的字段键标识。日期值的格式为“yyyy-mm-dd”。
如果自定义用户字段键或值无效,则更新字段将静默失败,用户仍将成功登录。有关自定义用户字段的详细信息,请参见向用户添加自定义字段。
注意:在user_fields属性中发送空值将删除相应字段中的任何现有值。
|
远程登录URL参数(return_to)
你是否通过了return_to
参数或不参数是可选的,但为了获得最佳用户体验,我们建议使用该参数。当Zend亚博esk将用户重定向到您的远程登录页面时,它可以传递一个return_toURL参数。该参数包含系统对用户进行身份验证后Zendesk将返回给用户的页面。亚博将参数名称和值附加到Zendesk JWT端点。亚博
例如,假设一个已退出的代理单击以下链接在支持中打开一个票据:https://mycompany.亚博zendesk.com/tickets/1232。流程如下:
- 在单击时,Zende亚博sk将用户重定向到您的远程登录URL并附加以下内容
return_to
参数为URL:https://mycompany.com/亚博zendesk/sso? return_to = https://mycompa亚博ny.zendesk.com/tickets/123
- 您的身份验证系统采用
return_to
参数,并在成功地对用户进行身份验证后,将其附加到Zendesk JWT端点。亚博例子:https://mycompany.亚博zendesk.com/access/jwt?jwt=payload&return_to = https://mycompan亚博y.zendesk.com/tickets/123
- 亚博Zendesk使用该参数为座席打开票务页面。
的return_to
参数为代理接口的绝对URL,为帮助中心的相对URL。
return_to
地址包含自己的URL参数,请确保您的脚本在提交JWT令牌时对整个return_to值进行uri编码。错误处理
如果Z亚博endesk在处理JWT登录请求时遇到错误,它会发送一条解释问题的消息。如果您在配置JWT集成时指定了远程注销URL,它将重定向到该URL并传递一个消息和一个种类参数。如果出现错误,则种类参数的值总是"error"。亚博Zendesk建议指定一个远程注销URL,以及从Zendesk记录消息与类型。大多数可能发生的错误都是您想要修复的错误。例子包括时钟漂移、达到速率限制和无效令牌。
JWT实现代码示例
实际的JWT实现很简单,大多数现代语言都有支持它的库。亚博Zendesk在下面的GitHub仓库中为各种栈提供了一系列示例:
如果您在任何其他堆栈中实现JWT,我们也很乐意提供一个这样的示例。在本文中添加注释以分享您实现的内容。
如果您运行IIS/AD并且不想构建自己的。net解决方案,我们提供了一个在经典ASP中的完整实现,它只需要您调整几个变量。下载ASP认证脚本从Github。
42岁的评论
嗨
我正在尝试做Raghav上面请求的2个帖子一样的事情:一旦认证,用JWT有效负载重定向到Zendesk,然后返回到应用程序。亚博
所以我重定向到abc.zendesk.com/acc亚博ess/jwt?jwt=token&return_to=https://my_app_url/
它重定向到return_to url,但没有打开Zendesk会话。亚博还有别的办法吗?
嗨,朱利安,
给您带来的不便我深表歉意。我为你的问题创建了一个单,这样我们就可以和你一起研究你的细节。谢谢你!
我们正在尝试设置JWT,一切都符合Zendesk的要求。亚博
但是得到错误“JWT签名无效”。无法验证签名,请检查您的令牌是否匹配。”
我们现在不能对这条信息做任何事情。有人能帮忙吗?
提前感谢!
你好,金雄成。
谢谢你的帮助,很高兴在这里提供帮助!至于错误,可能的原因是用于生成有效负载的散列部分的共享密钥与“安全> SSO > JSON Web令牌”下列出的共享密钥不匹配。
由于在Zendesk UI中只显示共享密钥的前几个字符,因此通常收到此错误的用户必须生成一个新的共享密钥,并用新密钥更新JWT脚本。亚博
额外的原因/ s:
-提供的JWT报头不包含" type "或"alg"参数。大多数JWT实现应该自动提供这些头文件。
但是,如果您的团队使用自己的实现(或使用我们的经典ASP实现的过时版本),则可能出现此错误。大多数JWT实现应该自动提供这些头文件。在这种情况下,Base64解码请求JWT参数的第一部分(报头)可以确认这是问题的原因。如果缺少" type "或"alg"参数,则会出现错误:
{“alg”:“HS256”}
我希望这对你有所帮助,并指出正确的方向。
谢谢
肖恩Traquena
当我的nodejs后端重定向到“https://.zendesk.com?jwt=xxxx”url时亚博,我可以看到由于CORS策略,重定向被阻止了。
在Zendesk管理面板中是否有任何设置,我应该更改,以亚博便Zendesk的CORS策略允许从我的域重定向?
大家好!
关于您收到的错误,请务必查看我们的文章:
https://support.亚博zendesk.com/hc/en-us/articles/360000795768-How-can-I-troubleshoot-CORS-
我希望这对你有帮助!
--
肖恩
这是给西姆兰的。出于某种原因,我收到了你的评论通知,但在这里看不到。
从你的有效载荷中移除exp。亚博Zendesk不喜欢这样。以下是我的c#代码片段:
JwtSecurityToken token = handler.CreateJwtSecurityToken(描述符); entry in payload)
foreach (KeyValuePair
{
token.Payload[条目。[键]= entry.Value;
}
//亚博Zendesk不期待nbf
token.Payload.Remove(“nbf”);
//亚博Zendesk不支持exp
token.Payload.Remove(“经验值”);
嘿,查理,非常感谢你的回复!
我实际上删除了我的评论,因为我意识到我们只是没有按下按钮让团队成员选择使用JWT。我犯了个愚蠢的错误,现在一切似乎都好起来了!
但是谢谢你的留言!我完全可以去除过期时间来清理这个!
再问你一个问题,查理。
当我们登录/创建用户时,我们希望传递一个组织和一个组织_id作为JWT的一部分。有几件事我不明白,我
1.它表示,如果我们在令牌上传递一个organization_id声明,“如果同时提供了organization和organization_id,则忽略organization。”——我们想看看如何同时得到这两条信息。从本质上讲,我们的数据是由组织名称组成的。因此,我们希望将这两条信息传递到这里,这样我们就可以存储ID和组织名称。你觉得我们该怎么做?我们是否应该将其添加到自定义用户字段并使用Organization。
2.还有一种情况,用户可以有多个组织我们可以传递字符串作为组织属性,但是否可以提供一组id呢?
提前感谢您的协助!
这是很久以前的事情了,我不知道你是否可以在负载中自由形式的名称-值对。
我们做Zendesk的方式是亚博创建许多与我们的产品相对应的“品牌”,除此之外,我们使用Zendesk标签来创建权限组,谁可以看到一个品牌内的什么。标签是一个数组,因此如果您愿意,可以基于它们封装许多逻辑。
// //创建有效负载,将指定的Epicor应用程序用户用标签登录到Zendesk亚博(StringComparer.OrdinalIgnoreCase) {
payload = new Dictionary
{"iat", timestamp},
{"jti", System.Guid.NewGuid().ToString()},
{"tags", aryTags},
{"name", userName},
{"email", userEmail}
};
嗨@……或者内容团队的任何人……本文中缺少一些对我的实现非常关键的信息。
1.JWT属性提到了使用“organizations”属性设置多组织成员关系的能力。然而,这个属性没有文档化。
2.当我使用“组织”属性,zendesk将创建组织,如果它没有创建?亚博
我们使用带有JWT端点和external_id字段的SSO。我们遇到的一个问题是,当用户在我们的系统上更改他/她的电子邮件,然后尝试单点登录到现有帐户(与external_id保持不变)时,ZD抛出一个错误。一个例子:
如果我们的UserId 123 <user.com>访问ZD,我们通过传递这样的东西来使用SSO: {external_id: 123, email: "user.com”,……}到端点https://nnn.亚博zendesk.com/access/jwt?jwt=...&return_to=yyy。这非常有效,ZD创建用户。
现在,如果用户将他/她的电子邮件更改为new.com在我们的系统中,那么下次我们使用SSO时,将传递以下JWT: {external_id: 123, email: "new.com”,……}。这会导致一个错误。
我希望在ZD中看到一个设置,您可以通过SSO功能配置SSO,以便在提供external_id时允许更新电子邮件地址。谢谢!
我得到这个错误,你能帮我弄清楚是什么错了吗?显然,只有现有用户可以进行SSO。
https://example.com/亚博zendesk/logout?kind=error&message=Please%20use%20one%20of%20the%20options%20below%20to%20sign%20in%20to%20Zendesk。
嗨Ursu Alexandr,
通常,如果您的Zendesk实例是打开的,任何用户都可以通过SSO登录。亚博所谓开放,我们的意思是任何人都可以提交门票。您可以在侧栏中的in Admin Center > People图标> Configuration >最终用户中检查此设置:
你可以在这篇文章中找到更多细节:
如果在启用此设置后问题仍然发生,请在这里告诉我,我将代表您创建一个票证,以收集更多细节并制定解决方案。
如果Zendesk中的另一个用户使用该电子邮件地址,您确实应该出现错误亚博new@new.com。否则,它应该使用此电子邮件地址更新用户,因为使用external_id的一个要点是当用户的电子邮件地址可能会更改时。请再次检查并让我知道,如果你仍然遇到一个错误。
谢谢Christophe,实际上是什么帮助我们消除了这个错误(https://example.com/亚博zendesk/logout?kind=error&message=Please%20use%20one%20of%20the%20options%20below%20to%20sign%20in%20to%20Zendesk。):启用外部认证
嘿……我有兴趣在我的。net 6应用程序中使用ZenDe亚博sk,并将非常感谢您提供的任何指导。我看到张贴的参考资料…from 10 years ago. It would be valuable to have something that is a little more current.
感谢您提供的任何帮助/关照。
如何将jwt令牌时间从3分钟增加到x分钟?
你好,
根据文档,InJWT单点登录;远程注销url中会自动添加Email和external_id参数。
但是对于我的应用程序,无效的电子邮件id被传递到远程注销url。
Email =invalid%40example.com和external_id也没有传递。
有人能调查一下上面的问题吗?
原谅我,如果我问了一个愚蠢的问题,已经回答了,我错过了…但我们正在研究终端用户身份验证的两种不同方式。这可能吗?使用SAML单点登录的一大组最终用户和代理,以及使用JWT单点登录的一小组外部最终用户。这有可能吗?
此时,不可能使用多种方法对最终用户进行身份验证。但是,可以使用代理,因为您可以使用SSO、Social或Basic身份验证。您还可以使用对代理和最终用户不同的分割身份验证。我把它链接在下面。
Split-authentication-methods-for-customers-and-agents
谢谢!
以防我的措辞不正确,将代理排除在等式之外—您是说最终用户不能同时使用两种形式的SSO吗?使用SAML进行身份验证的一组最终用户和使用JWT的其他最终用户?
换句话说,我有一大组终端用户目前使用SAML进行身份验证。我希望有另一组使用JWT的终端用户。
没错,目前只能在代理和最终用户之间分割身份验证方法,而不可能只向最终用户提供SAML和JWT。我已经向我们的SSO专家进行了查询,以验证并查看是否有已知的解决方案,如果有,我会与您跟进并让您知道可能的解决方案。
干杯!
嗨!这很有帮助,谢谢。如果用户的external_id已经作为最终用户在Zendesk系统中,那么有两个问题:亚博
1.它会重新创建用户吗?(我猜不是)
2.这是否允许用户接收限定在用户标签和用户段范围内的文章?
我们计划早在用户尝试使用JWT SSO之前就在Zendesk系统中创建用户。亚博
谢谢!
嗨,吉米!
很抱歉回复晚了。为了回答你的问题,如果用户的external_id已经在Zendesk系统中,亚博
1.它不会重新创建用户
2.用户配置文件中与external_id和电子邮件地址相关的所有内容都将适用于Zendesk系统,包括它们的标签,所以这应该像您预期的那样工作。亚博
只要确保external_id与这些最终用户的电子邮件地址配对即可。您不能有email或external_id的副本,因此在实现SSO解决方案之前,请确保对其进行三次检查。
可以直接去吗https://yoursubdomain.亚博zendesk.com/access/jwt链接来自我们的SAAS,因为我们的用户将已经登录,节省他们必须再次登录访问我们在Zendesk的知识库亚博官方app亚博
不幸的是,由于JWT握手尚未完成,因此负载不会包含在请求中。
很抱歉给您带来不便
埃里克·纳尔逊抱歉,我的意思是从我们的应用重定向到https://yoursubdomain.亚博zendesk.com/access/jwt生成JWT并将其包含在有效负载中。我们遇到的问题是,我们的每个客户端都有一个唯一的登录url,因此将它们重定向到通用登录(https://mycompany.com/亚博zendesk/sso)行不通
你好,我们的SSO设置目前不工作,登录尝试没有重定向到我们的zendesk实例,而是返回url如下:亚博
https:// * remoteURLdomainName * / en / ?电子邮件= &external_id =类型= error&logout = 1的消息=请+使用+ + + +选项+在+ + +在+ + Zendesk迹象。亚博
JWT已经在Admin中心配置了正确的远程登录URL。关于上面这个错误可能表明什么,有任何提示吗?我们的托管团队不认为这个错误来自他们。
谢谢,
迭戈
嗨,Z亚博endesk社区,
没有关于如何创建光代理的信息。
请问有可能得到信息吗?
谢谢你!
请登录留下评论。