【问题标题】:Jenkins integration with Auth0Jenkins 与 Auth0 的集成
【发布时间】:2016-02-20 17:20:38
【问题描述】:

我已经在 jenkins saml github repo 上发布了这个问题,但不确定问题的确切原因在哪里 - https://github.com/connectifier/jenkins-saml-plugin/issues/9。 任何帮助表示赞赏

Auth0 配置

  1. 创建了一个应用“Jenkins”
  2. 在 Jenkins 应用 > 设置下,字段“允许的回调 URL = http://52.34.126.192:8080/securityRealm/finishLogin”(我使用的是 AWS,因此 ip 可能会更改)
  3. 通过单击“高级设置”向下滚动。在 Endpoints > SAML 下,复制 URL“SAML 元数据 URL”并粘贴到浏览器中。它下载了一个 XML 文件。稍后我们将在 jenkins 方面使用它
  4. 有一个 Auth0 用户“abc@xyz.com”与连接“用户名-密码-身份验证”数据库

我希望在集成之后,我应该能够使用“abc@xyz.com”登录到 Jenkins

Jenkins 配置

  1. 已安装 SAML 插件 -https://wiki.jenkins-ci.org/display/JENKINS/SAML+Plugin
  2. 启用全局安全,然后启用 SAML,将上述 XML 文件(上述步骤 3)粘贴到“IdP MetaData”字段中,选择“基于角色的策略”单选并点击保存

  1. 现在不会观察到任何效果,因为在 SAML 插件中提到必须在看到更改之前禁用匿名。
  2. 转到管理和分配角色,然后取消选中任何匿名框(因为如果启用了匿名,则将绕过身份验证)
  3. 点击保存后,您将被重定向到 Auth0 登录页面(您可以在 auth0 上自定义登录页面,目前我使用默认设置)
  4. 现在我使用在 Auth0 配置中创建的 Auth0 用户登录

我得到如下错误

日志

在 Auth0 端,日志说用户成功登录

非常感谢任何帮助或想法。由于 Auth0 登录显示成功,因此我将其发布在这里,而不是 Auth0 错误

【问题讨论】:

  • 我试图在本地 Jenkins 服务器中重现您的问题,但不能。以下是我所做的不同之处:(a) 在 Jenkins 全球安全中,禁用 Prevent Cross Site Request Forgery exploits。 (b) 在 Auth0 中我的 Jenkins 应用程序的 Addons 选项卡中,我启用了 SAML2 网络应用程序 插件
  • 那么您是否能够使用 Auth0 进行 Jenkins 身份验证。这是你的总体目标吗?
  • 所以我尝试了您上面提到的选项。仍然遇到同样的问题。您是否能够通过 Auth0 成功验证您的詹金斯?

标签: jenkins saml auth0


【解决方案1】:

当您未将 auth0 SAML2 AddOn 中的 audience 设置显式设置为回调 URL 时,似乎会发生此错误。

明确设置它为我解决了这个问题。

我的猜测:这与插件使用了相当过时的 pac4j 库版本有关。

【讨论】:

  • 谢谢您,按照上述说明操作。 Jenkins 正在通过具有匿名角色的 auth0 用户进行身份验证。您是否尝试在 Jenkins 的“管理和分配角色”部分创建角色并将其分配给用户?我试过这样做,但是用户总是被映射到 Anonymous 拥有的任何角色
  • 不,还没有尝试过,我只是做了一个概念验证设置,但我很快就会。不幸的是,我的帐户似乎有问题,我正在等待 auth0 团队解决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-20
  • 2017-04-03
  • 2019-12-13
  • 2019-11-22
  • 2020-05-08
  • 2014-07-08
  • 2016-06-29
相关资源
最近更新 更多