2015-11-18 152 views
4

我張貼的問題已經在詹金斯SAML GitHub庫,但是不知道哪裏是問題的確切原因 - https://github.com/connectifier/jenkins-saml-plugin/issues/9。 任何幫助理解詹金斯整合與Auth0

Auth0 Configuraiton

  1. 創建一個應用程序 「詹金斯」
  2. 在詹金斯應用>設置,字段 「允許的回叫的URL = http://52.34.126.192:8080/securityRealm/finishLogin」(我用AWS,使IP可以通過點擊「高級設置」改變)
  3. 向下滾動。下端點> SAML,複製的URL「SAML元數據URL」,並在瀏覽器粘貼。它下載了一個XML文件。我們將在詹金斯側以後使用該
  4. 有一個Auth0用戶「[email protected]」有聯繫「的用戶名,密碼,驗證」數據庫

我想到的是整合後,我應該能夠登錄詹金斯與 「[email protected]

詹金斯配置

  1. 安裝SAML插件 - https://wiki.jenkins-ci.org/display/JENKINS/SAML+Plugin
  2. 啓用全局安全性,那麼SAML,粘貼上面的XML文件(S上述TEP 3)代入字段「IDP中繼」,選擇「基於角色的策略」無線電和點擊保存

image

  • 無效果現在將觀察到的,因爲它是在SAML插件中提到Anonymous必須在查看更改之前被禁用。
  • 轉到管理和分配角色,然後取消選中任何匿名框(因爲如果匿名啓用,則認證將被繞過)
  • 只要您點擊保存,您將被重定向到Auth0登錄頁面你可以自定義登錄頁面上auth0,現在我用默認去)
  • 現在我登錄與我在Auth0配置創建Auth0用戶
  • 我得到如下錯誤

    image

    日誌

    在Auth0側,日誌說,用戶成功登錄

    image

    任何幫助或想法受到了高度評​​價。由於Auth0登錄表示成功,因此我在此發佈此代替Auth0錯誤

    +0

    我試圖在本地Jenkins服務器中重現您的問題,但無法重現。以下是我做的不同之處:(a)在Jenkins Global Security中,禁用了「防止跨站點請求僞造攻擊」。 (b)在我的'Jenkins'應用程序的Auth0的'Addons'選項卡中,我啓用了** SAML2 web應用程序** Addon –

    +0

    因此,您是否可以使用Auth0進行Jenkins身份驗證。這是你的總體目標嗎? – machzqcq

    +0

    所以我嘗試了上面提到的選項。仍遇到同樣的問題。你能否通過Auth0成功驗證你的jenkins? – machzqcq

    回答

    4

    如果未將auth0 SAML2 AddOn中的audience設置顯式設置爲回調URL,則會出現此錯誤。

    設置它明確地定爲我的問題。

    Screenshot

    我的猜測:這是主題相關的插件使用的pac4j庫的相當過時版本的事實。

    +0

    謝謝你,遵循上述指示。 Jenkins通過匿名角色的auth0用戶獲得認證。您是否嘗試在Jenkins的「管理和分配角色」部分中創建角色並將其分配給用戶?我試過這樣做,但是用戶總是被映射到Anonymous擁有的任何角色 – machzqcq

    +0

    不,還沒有嘗試過,我只做了一個概念設置證明,但我很快就會做。不幸的是,我的帳戶似乎有問題,我正在等auth0團隊解決問題。 – madmuffin