启用JWT单点登录

回到顶端

41岁的评论

  • 朱利安·波洛《摩洛哥云》

    我正在尝试做与Raghav上面要求的2篇帖子相同的事情:一旦身份验证,使用JWT有效负载重定向到Zendesk,然后返回到应用程序。亚博

    所以我重定向到abc.zendesk.com/acc亚博ess/jwt?jwt=token&return_to=https://my_app_url/

    它重定向到return_to url,但Zendesk会话没有打开。亚博还有别的办法吗?

    1
  • 布伦达Cardinez

    嗨,朱利安,


    很抱歉给您带来不便。我已经为你的问题制作了一张票,这样我们就可以和你一起了解你的具体情况。谢谢你!

    1
  • XIECHENG金

    我们正在尝试安装JWT,一切都符合Zendesk的要求。亚博
    但得到错误“JWT签名无效。”签名无法验证,请检查您的令牌是否匹配。”
    我们现在不能对这条消息做任何事情。有人来帮忙吗?
    提前谢谢!

    0
  • 肖恩Traquena
    亚博Zendesk客户服务

    Hi Xiengcheng Jin,

    谢谢你的帮助,很高兴能在这里提供帮助!对于错误,可能的原因是用于生成有效负载的散列部分的共享密钥与Security > SSO > JSON Web Token下列出的共享密钥不匹配。

    由于在Zendesk UI中只显示了共享密钥的前几个字符,因此通常收到此错误的用户必须生成一个新的共享密钥,并使用新的密钥更新JWT脚本。亚博

    额外的原因/ s:
    -提供的JWT头不包含"typ"或"alg"参数。大多数JWT实现应该自动提供这些头文件。
    但是,如果您的团队滚动自己的实现(或使用我们的经典ASP实现的过时版本),则可能出现此错误。大多数JWT实现应该自动提供这些头文件。在这种情况下,Base64解码请求的JWT参数的第一部分(头)可以确认这是问题的原因。如果"typ"或"alg"参数缺失,则会出现以下错误:

    {“alg”:“HS256”}

    我希望这对你有所帮助,并为你指明正确的方向。

    谢谢

    肖恩Traquena

    1
  • 贾斯汀

    当我的nodejs后端重定向到' https://.zendesk.com?jwt=xxxx ' u亚博rl时,我可以看到重定向因为CORS策略而被阻止。

    访问XMLHttpRequesthttps://xxxx.亚博zendesk.com/access/jwt?jwt=xxxx
    (从'https://api.mydomain.com/v1/auth/login')
    从原点开始https://dashboard.mydomain.com已被CORS政策屏蔽:
    对飞行前请求的响应未通过访问控制检查:
    被请求的资源上没有'Access-Control-Allow-Origin'标头。

    是否有任何设置在Zendesk管理面板,我应该改变,使Z亚博endesk的CORS策略允许重定向从我的域?

    1
  • 肖恩Traquena
    亚博Zendesk客户服务

    大家好!

    关于您收到的错误,请务必查看我们的文章:

    https://support.亚博zendesk.com/hc/en-us/articles/360000795768-How-can-I-troubleshoot-CORS-

    我希望这能有所帮助!

    --

    肖恩

    1
  • 查尔斯·劳埃德

    这是给希姆兰的。出于某种原因,我收到了你的评论通知,但在这里看不到。

    从有效负载中删除exp。亚博Zendesk不喜欢这样。这是从我的c#代码剪辑:

    JwtSecurityToken token = handler.CreateJwtSecurityToken(描述符);
    foreach (KeyValuePair条目)

    token.Payload[条目。键]= entry.Value;

    //亚博Zendesk不期待nbf
    token.Payload.Remove(“nbf”);

    //亚博Zendesk不支持exp
    token.Payload.Remove(“经验值”);

    1

    嘿,查理,非常感谢你的回复!
    我实际上删除了我的评论,因为我意识到我们只是没有按下按钮,让团队成员勾选复选框来使用JWT。=\愚蠢的错误在我的结束,一切似乎都很好现在!

    谢谢你的留言!我完全可以删除过期时间来清理这个以及!

    0

    查理,再问你一个问题。
    我们希望在登录/创建用户时传递组织和organization_id作为JWT的一部分。有几件事我很困惑,我

    1.它表示,如果我们在令牌上传递organization_id声明,“如果同时提供了organization和organization_id,则忽略organization。”——我们想看看如何把这两个信息都放在那里。本质上,我们的数据是用Org#22:组织名称结构化的。所以我们想把这两个信息都传递到这里,这样我们就可以存储ID和Organization名称。你觉得我们该怎么做?我们是否应该将其添加到自定义用户字段并使用组织?

    2.还有一种情况,用户可以有多个组织我们知道,我们可以传递字符串作为组织属性但是,是否也可以提供一组id呢?

    提前感谢您的协助!

    0
  • 查尔斯·劳埃德

    那是很久以前我研究它的时候,我不知道你是否可以在有效载荷中释放名称-值对。

    我们做Zendesk的方式是亚博创建许多与我们的产品相对应的“品牌”,除此之外,我们使用Zendesk标签创建权限组,允许谁可以看到品牌内的内容。标签是一个数组,因此如果您愿意,您可以基于它们封装大量逻辑。

    // //创建有效载荷日志指定Epicor应用程序用户到Zendesk与tih标签亚博
    payload = new Dictionary(StringComparer.OrdinalIgnoreCase) {
    {"iat", timestamp},
    {"jti", system . guide . newguid ().ToString()},
    {"tags", aryTags},
    {"name", userName},
    {"email", userEmail}
    };

    1
  • 伊塔mendelawy

    @……或者任何来自内容团队的人……本文中缺少对我的实现非常重要的信息。

    1.JWT属性提到了通过“organizations”属性设置多组织成员的能力。但是,这个属性没有文档化。

    2.当我使用“组织”属性,将zendesk创建组织,如果它没有创建?亚博

    1
  • 弗雷德里克·约翰逊

    我们使用带有JWT端点和external_id字段的SSO。我们遇到的一个问题是,当用户在我们的系统中更改他/她的电子邮件时,ZD抛出一个错误,然后尝试单点登录到一个现有的帐户(external_id保持不变)。一个例子:

    如果我们的UserId 123 <user.com>访问ZD,我们使用SSO通过传递这样的东西:{external_id: 123,电子邮件:"user.com”,……}到端点https://nnn.亚博zendesk.com/access/jwt?jwt=...&return_to=yyy.这工作得很好,ZD创建用户。

    现在,如果我们的用户将他/她的电子邮件更改为new.com在我们的系统中,那么下一次我们使用SSO时,将传递以下JWT: {external_id: 123, email: "new.com”,……}。这将导致错误。

    我想在ZD中看到一个设置,如果提供了external_id,您可以通过SSO功能配置SSO以允许更新电子邮件地址。谢谢!

    0
  • Ursu Alexandr

    我得到这个错误,你能帮我找出哪里出错了吗?显然,只有现有用户可以单点登录。
    https://example.com/亚博zendesk/logout?kind=error&message=Please%20use%20one%20of%20the%20options%20below%20to%20sign%20in%20to%20Zendesk。

    0
  • 克利斯朵夫Tiraboschi
    亚博Zendesk客户服务

    Ursu Alexandr

    通常,如果Zendesk实例是打开的,任何用户都可以通过SSO登录。亚博所谓开放,我们的意思是任何人都可以提交门票。您可以在侧栏的“管理中心>人员”图标中查看该设置>配置>最终用户:

    你可以在这篇文章中找到更多细节:

    如果尽管启用了这个设置,但问题还是发生了,请在这里告诉我,我将代表您创建一张票,以收集更多详细信息并制定解决方案。

    1
  • 克利斯朵夫Tiraboschi
    亚博Zendesk客户服务
    嗨,弗雷德里克,

    如果Zendesk中的其他用户使用了该电子邮件地址,则应该会出现错误亚博new@new.com.否则,它应该用这个电子邮件地址更新用户,因为使用external_id的要点之一是当用户的电子邮件地址可能发生变化时。请仔细检查,并在这里告诉我,如果你仍然遇到错误。
    0
  • Ursu Alexandr

    谢谢你Christophe,实际上是你帮助我们摆脱了这个错误(https://example.com/亚博zendesk/logout?kind=error&message=Please%20use%20one%20of%20the%20options%20below%20to%20sign%20in%20to%20Zendesk。):启用外部认证

    0
  • Mike-E

    嘿……我对在我的。6应用程序中使用ZenDesk很感兴趣亚博,如果您能提供任何指导,我将非常感激。我看到推荐贴了…from 10 years ago. It would be valuable to have something that is a little more current.

    谢谢你能提供的任何帮助/考虑。

    0
  • Kumail Raza

    如何将jwt令牌时间从3分钟增加到一些x时间?

    0
  • Rohan Negi

    你好,

    根据文件,在JWT单点登录,“Email”和“external_id”参数会自动添加到远程注销url中。
    但是对于我的应用程序,无效的电子邮件id被传递到远程注销url。
    Email =invalid%40example.com和external_id也没有被传递。
    有人能研究一下上面的问题吗?

    1
  • 艾迪索耶斯

    请原谅我问了一个愚蠢的问题,这个问题已经被回答了,我错过了…但是我们正在研究最终用户的两种不同的身份验证方式。这可能吗?一大批最终用户和代理使用SAML SSO进行登录,另一大批外部最终用户使用JWT单点登录进行登录。这有可能吗?

    0
  • 杰森·谢弗
    亚博Zendesk客户服务
    嗨艾迪,

    目前,无法使用多种方法对最终用户进行身份验证。然而,这是可能的代理,因为你可以使用SSO,社会,或基本身份验证。您还可以使用不同于代理用户和最终用户的分离身份验证。我已经在下面给你链接了。

    Split-authentication-methods-for-customers-and-agents


    谢谢!
    0
  • 艾迪索耶斯

    以防我的措辞不正确,将代理排除在等式之外——您是说最终用户不能同时拥有两种形式的SSO吗?一组终端用户使用SAML进行身份验证,而另一组终端用户使用JWT?

    换句话说,我有一大群终端用户目前使用SAML进行身份验证。我希望有第二组最终用户使用JWT。

    0
  • 杰森·谢弗
    亚博Zendesk客户服务
    嗨艾迪,

    是的,目前只能在代理和最终用户之间分离身份验证方法,不可能同时向最终用户提供SAML和JWT。我对我们的SSO专家进行了调查,以核实并查看是否有任何已知的变通办法,如果有的话,我会跟进你,让你知道什么是可能的。

    干杯!
    0
  • 吉米·麦克德莫特

    嗨!这很有帮助,谢谢。如果用户的external_id作为最终用户已经在Zendesk系统中,有两个问题:亚博

    1.它会重新创建用户吗?(我猜不是)

    2.这将使用户能够接收到用户标签范围内的文章,因此用户段?

    我们计划在Zendesk系统尝试使用JWT SSO之前就已经在系统中创建了用户。亚博

    谢谢!

    0
  • 贾斯汀H
    亚博Zendesk客户服务

    嗨,吉米!

    抱歉回复晚了。回答你的问题,如果用户的external_id已经在Zendesk系统中,亚博

    1.它不会重新创建用户

    2.所有与该external_id和电子邮件地址相关联的用户配置文件将适用于Zendesk系统,包括他们的标签,所以这应该是你预期的工作。亚博

    只需确保external_id与这些最终用户拥有的电子邮件地址配对即可。您不能有重复的email或external_id,所以在实现SSO解决方案之前一定要进行三次检查。

    0
  • 加里Thickett

    是可以直接去的吗https://yoursubdomain.亚博zendesk.com/access/jwt链接从我们的SAAS,因为我们的用户将已经登录,节省他们不得不再次登录访问我们在Zendesk的知识库亚博官方app亚博

    0
  • 埃里克·纳尔逊
    亚博Zendesk开发者倡导
    嗨,加里,

    不幸的是,没有,因为JWT握手还没有完成,所以有效负载不会包含在请求中。

    抱歉给您带来不便
    0
  • 加里Thickett

    埃里克·纳尔逊不好意思,我的意思是从我们的应用重定向到https://yoursubdomain.亚博zendesk.com/access/jwt生成一个JWT并将其包含在有效载荷中。我们的问题是,我们的每个客户端都有一个唯一的url登录,所以重定向到一个通用的登录(https://mycompany.com/亚博zendesk/sso)不会起作用

    0
  • 迭戈·埃尔南德斯

    你好,我们的SSO设置目前不工作,登录尝试不重定向到我们的zendesk实例,而是返回url如下:亚博

    https:// * remoteURLdomainName * / en / ?电子邮件= &external_id =类型= error&logout = 1的消息=请+使用+ + + +选项+在+ + +在+ + Zendesk迹象。亚博

    已经在管理中心中配置了JWT,并使用了正确的远程登录URL。关于上面这个错误可能表明什么,有任何提示吗?我们的托管团队没有识别出来自他们的错误。

    谢谢,
    迭戈

    0
  • Raphaël Péguet - Officers.fr

    嗨,Z亚博endesk社区,

    没有关于如何创建光代理的信息。

    请问有可能得到信息吗?

    谢谢你!

    0

登录留下评论。

提供:Zendesk亚博