日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sso集成shiro_Keycloak SSO集成到jBPM和Drools Workbench中

發(fā)布時(shí)間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sso集成shiro_Keycloak SSO集成到jBPM和Drools Workbench中 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

sso集成shiro

介紹

單一登錄(SSO)和相關(guān)令牌交換機(jī)制正在成為Web上不同環(huán)境中身份驗(yàn)證和授權(quán)的最常見方案,尤其是在遷移到云中時(shí)。

本文討論了Keycloak與jBPM或Drools應(yīng)用程序的集成,以便使用Keycloak上提供的所有功能。 Keycloak是用于瀏覽器應(yīng)用程序和RESTful Web服務(wù)的集成SSO和IDM。 在Keycloak的主頁上進(jìn)一步了解它。

與Keycloak集成的結(jié)果具有許多優(yōu)勢,例如:

  • 為包括jBPM和Drools工作臺(tái)在內(nèi)的不同客戶提供集成的SSO和IDM環(huán)境
  • 社交登錄–使用您的Facebook,Google,Linkedin等帳戶
  • 用戶會(huì)話管理
  • 以及更多…

下一節(jié)將介紹Keycloak的以下集成點(diǎn):

  • 通過Keycloak服務(wù)器進(jìn)行工作臺(tái)身份驗(yàn)證 :它基本上包括通過Keycloak SSO保護(hù)Web客戶端和遠(yuǎn)程服務(wù)客戶端。 因此,無論是Web界面還是遠(yuǎn)程服務(wù)使用者(無論是用戶還是服務(wù))都將通過KC進(jìn)行身份驗(yàn)證。
  • 通過Keycloak服務(wù)器執(zhí)行服務(wù)器認(rèn)證 :包括保護(hù)執(zhí)行服務(wù)器提供的遠(yuǎn)程服務(wù)(因?yàn)樗惶峁¦eb界面)。 任何遠(yuǎn)程服務(wù)使用者(無論是用戶還是服務(wù))都將通過KC進(jìn)行身份驗(yàn)證。
  • 消費(fèi)遠(yuǎn)程服務(wù) :本節(jié)描述第三方客戶端如何使用由Workbench和Execution Server提供的遠(yuǎn)程服務(wù)端點(diǎn)。

情境

將下圖視為本文示例的環(huán)境:

示例場景

Keycloak是一個(gè)獨(dú)立的過程,可提供遠(yuǎn)程身份驗(yàn)證,授權(quán)和管理服務(wù),這些服務(wù)可能會(huì)被一個(gè)或多個(gè)jBPM應(yīng)用程序通過網(wǎng)絡(luò)使用。

考慮以下用于構(gòu)建此環(huán)境的主要步驟:

  • 安裝和設(shè)置Keycloak服務(wù)器
  • 為此示例創(chuàng)建和設(shè)置領(lǐng)域-配置領(lǐng)域的客戶端,用戶和角色
  • 安裝和設(shè)置SSO客戶端適配器和jBPM應(yīng)用程序

筆記:

  • 最終的環(huán)境和本文的不同配置均基于jBPM(KIE)工作臺(tái),但是相同的環(huán)境也可以應(yīng)用于KIE Drools工作臺(tái)。
  • 本示例使用最新的6.4.0.CR2社區(qū)發(fā)行版

步驟1 –安裝和設(shè)置Keycloak服務(wù)器

Keycloak提供了廣泛的文檔以及有關(guān)在不同環(huán)境中進(jìn)行安裝的幾篇文章。 本節(jié)介紹了用于構(gòu)建示例的集成環(huán)境的最小設(shè)置。 如果需要更多信息,請(qǐng)參考Keycloak文檔 。

以下是最小化Keycloak安裝和設(shè)置的步驟:

  • 從下載部分下載最新版本的Keycloak。 本示例基于Keycloak 1.9.0.Final。
  • 將下載的Keycloak發(fā)行版解壓縮到一個(gè)文件夾中,我們將其稱為$KC_HOME
  • 運(yùn)行KC服務(wù)器–此示例基于在同一主機(jī)上同時(shí)運(yùn)行Keycloak和jBPM。 為了避免端口沖突,可以將Keycloak服務(wù)器的端口偏移量用作: $KC_HOME/bin/standalone.sh -Djboss.socket.binding.port-offset=100
  • 創(chuàng)建Keycloak的管理用戶–執(zhí)行以下命令以創(chuàng)建此示例的管理員用戶: $KC_HOME/bin/add-user.sh -r master -u 'admin' -p 'admin'
  • Keycloak管理控制臺(tái)將位于http:// localhost:8180 / auth / admin (使用admin / admin作為登錄憑據(jù))。

    第2步–創(chuàng)建并設(shè)置演示領(lǐng)域

    安全領(lǐng)域用于限制對(duì)不同應(yīng)用程序資源的訪問。

    Keycloak服務(wù)器運(yùn)行之后,下一步就是創(chuàng)建領(lǐng)域。 該領(lǐng)域?qū)閖BPM應(yīng)用程序提供不同的用戶,角色,會(huì)話等。

    Keycloak提供了幾個(gè)領(lǐng)域創(chuàng)建和管理的示例 ,從官方示例到帶有更多示例的不同文章。

    您可以手動(dòng)創(chuàng)建領(lǐng)域,也可以僅導(dǎo)入給定的json文件。

    逐步創(chuàng)建領(lǐng)域

    請(qǐng)按照以下步驟操作,以創(chuàng)建本文稍后使用的演示領(lǐng)域:

  • 轉(zhuǎn)到Keycloak 管理控制臺(tái) ,然后單擊“ 添加領(lǐng)域”按鈕。 給它命名為demo 。
  • 轉(zhuǎn)到“客戶端”部分(從管理控制臺(tái)主菜單),然后為演示領(lǐng)域創(chuàng)建一個(gè)新客戶端:
    • 客戶編號(hào): kie
    • 客戶端協(xié)議: openid-connect
    • 訪問類型: 機(jī)密
    • 根URL: http:// localhost:8080
    • 基本網(wǎng)址: /kie-wb-6.4.0.Final
    • 重定向URI: /kie-wb-6.4.0.Final/*
  • 生成的kie客戶端設(shè)置屏幕:

    KIE客戶端的設(shè)置

    注意 :如您在上述設(shè)置中所看到的,它被認(rèn)為是應(yīng)用程序上下文路徑的值kie-wb-6.4.0.Final 。 如果將jbpm應(yīng)用程序部署在其他上下文路徑,主機(jī)或端口上,請(qǐng)?jiān)诖颂幨褂媚木唧w設(shè)置。

    能夠使用jBPM工作臺(tái)中的演示領(lǐng)域的最后一步是創(chuàng)建應(yīng)用程序的用戶和角色:

    • 轉(zhuǎn)到“角色”部分,并創(chuàng)建角色admin , kiemgmt和rest-all 。
    • 轉(zhuǎn)到“用戶”部分并創(chuàng)建管理員用戶。 在“憑據(jù)”選項(xiàng)卡中將密碼設(shè)置為“ password”,然后取消設(shè)置臨時(shí)開關(guān)。
    • 在“用戶”部分中,導(dǎo)航到“ 角色映射”選項(xiàng)卡,然后將admin, kiegmmt和rest-all角色分配給admin用戶

    管理員用戶的角色映射

    導(dǎo)入演示領(lǐng)域

    兩者都導(dǎo)入:

    • 演示領(lǐng)域–單擊“ 添加領(lǐng)域”并使用demo-realm.json文件
    • 領(lǐng)域用戶–導(dǎo)入演示領(lǐng)域后,在主菜單中單擊“ 導(dǎo)入” ,然后使用demo-users-0.json文件作為導(dǎo)入源

    此時(shí),Keycloak服務(wù)器正在主機(jī)上運(yùn)行,??并使用最小配置集進(jìn)行設(shè)置。 讓我們轉(zhuǎn)到j(luò)BPM工作臺(tái)設(shè)置。

    步驟3 –安裝和設(shè)置jBPM工作臺(tái)

    對(duì)于本教程,讓我們將Wildfly用作jBPM工作臺(tái)的應(yīng)用程序服務(wù)器,就像jBPM安裝程序默認(rèn)情況下那樣。

    讓我們假設(shè),在運(yùn)行jBPM安裝程序之后,將$ JBPM_HOME作為已部署應(yīng)用程序的Wildfly服務(wù)器的根路徑。

    步驟3.1 –安裝KC適配器

    為了使用jBPM應(yīng)用程序中的Keycloak身份驗(yàn)證和授權(quán)模塊,必須在$ JBPM_HOME的服務(wù)器上安裝用于Wildfly的Keycloak適配器 。 Keycloak開箱即用為不同容器提供了多個(gè)適配器,如果您正在使用另一個(gè)容器或需要使用另一個(gè)適配器,請(qǐng)查看Keycloak文檔中的適配器配置 。 以下是安裝和設(shè)置Wildfly 8.2.x適配器的步驟:

  • 從此處下載適配器
  • 執(zhí)行以下命令: cd $JBPM_HOME/ unzip keycloak-wf8-adapter-dist.zip // Install the KC client adaptercd $JBPM_HOME/bin ./standalone.sh -c standalone-full.xml // Setup the KC client adapter.// ** Once server is up, open a new command line terminal and run: cd $JBPM_HOME/bin ./jboss-cli.sh -c --file=adapter-install.cli
  • 步驟3.2 –配置KC適配器

    將KC適配器安裝到Wildfly中后,下一步是配置適配器,以指定不同的設(shè)置,例如身份驗(yàn)證服務(wù)器的位置,要使用的領(lǐng)域等。

    Keycloak提供了兩種配置適配器的方法:

    • 每個(gè)WAR配置
    • 通過Keycloak子系統(tǒng)

    在此示例中,我們使用第二個(gè)選項(xiàng),使用Keycloak子系統(tǒng),因此我們的WAR不受此類設(shè)置的影響。 如果要使用per WAR方法,請(qǐng)?jiān)诖颂幉榭?。

    編輯配置文件$ JBPM_HOME / standalone / configuration / standalone-full.xml并找到子系統(tǒng)配置部分。 添加以下內(nèi)容:

    <subsystem xmlns="urn:jboss:domain:keycloak:1.1"><secure-deployment name="kie-wb-6.4.0-Final.war"><realm>demo</realm><realm-public-key>MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Q3RNbrVBcY7xbpkB2ELjbYvyx2Z5NOM/9gfkOkBLqk0mWYoOIgyBj4ixmG/eu/NL2+sja6nzC4VP4G3BzpefelGduUGxRMbPzdXfm6eSIKsUx3sSFl1P1L5mIk34vHHwWYR+OUZddtAB+5VpMZlwpr3hOlfxJgkMg5/8036uebbn4h+JPpvtn8ilVAzrCWqyaIUbaEH7cPe3ecou0ATIF02svz8o+HIVQESLr2zPwbKCebAXmY2p2t5MUv3rFE5jjFkBaY25u4LiS2/AiScpilJD+BNIr/ZIwpk6ksivBIwyfZbTtUN6UjPRXe6SS/c1LaQYyUrYDlDpdnNt6RboQIDAQAB</realm-public-key><auth-server-url>http://localhost:8180/auth</auth-server-url><ssl-required>external</ssl-required><resource>kie</resource><enable-basic-auth>true</enable-basic-auth><credential name="secret">925f9190-a7c1-4cfd-8a3c-004f9c73dae6</credential><principal-attribute>preferred_username</principal-attribute></secure-deployment> </subsystem>

    如果您在第2步中從本文中導(dǎo)入了示例json文件,則可以通過使用具體的部署名稱來使用與上述相同的配置。 否則,請(qǐng)使用您的值進(jìn)行以下配置:

    • 安全部署的名稱 –使用具體應(yīng)用程序的WAR文件名
    • 領(lǐng)域 –是應(yīng)用程序?qū)⑹褂玫念I(lǐng)域,在我們的示例中,是在步驟2中創(chuàng)建的演示領(lǐng)域。
    • 領(lǐng)域公鑰 –在此提供演示領(lǐng)域的公鑰。 這不是強(qiáng)制性的,如果未指定,將從服務(wù)器中檢索它。 否則,您可以在Keycloak管理控制臺(tái)->領(lǐng)域設(shè)置(用于演示領(lǐng)域)->密鑰中找到它
    • 身份驗(yàn)證服務(wù)器URL – Keycloak身份驗(yàn)證服務(wù)器的URL
    • 資源 –在步驟2中創(chuàng)建的客戶端的名稱。在我們的示例中,使用值kie 。
    • 啟用基本身份驗(yàn)證 –在此示例中,我們還啟用基本身份驗(yàn)證機(jī)制,因此客戶端可以同時(shí)使用令牌(Baerer)和基本方法來執(zhí)行請(qǐng)求。
    • 憑據(jù) –使用kie客戶端的密碼值。 您可以在Keycloak管理控制臺(tái)->客戶端-> kie->憑據(jù)選項(xiàng)卡->復(fù)制密鑰值中找到它。

    對(duì)于此示例,您必須注意將您的具體值用于安全部署名稱 , realm-public-key和憑據(jù)密碼。 您可以在此處找到有關(guān)KC適配器配置的詳細(xì)信息。

    步驟3.3 –運(yùn)行環(huán)境

    此時(shí),Keycloak服務(wù)器已在主機(jī)上啟動(dòng)并運(yùn)行,并且已為jBPM應(yīng)用程序服務(wù)器安裝并配置了KC適配器。 您可以使用以下命令運(yùn)行該應(yīng)用程序:

    $JBPM_HOME/bin/standalone.sh -c standalone-full.xml

    服務(wù)器啟動(dòng)后,您可以導(dǎo)航到該應(yīng)用程序: http:// localhost:8080 / kie-wb-6.4.0.Final

    jBPM和SSO –登錄頁面

    使用Keycloak的管理員用戶憑據(jù)登錄: admin / password

    通過Keycloak保護(hù)工作臺(tái)遠(yuǎn)程服務(wù)

    jBPM和Drools工作臺(tái)都提供了不同的遠(yuǎn)程服務(wù)端點(diǎn),第三方客戶端可以使用遠(yuǎn)程API來使用這些端點(diǎn)。

    為了通過Keycloak驗(yàn)證這些服務(wù),必須禁用BasicAuthSecurityFilter ,對(duì)jBPM的WAR文件中的WEB-INF / web.xml文件(應(yīng)用程序部署描述符)進(jìn)行那些修改:

  • 卸下過濾器: < filter > <filter-name>HTTP Basic Auth Filter</filter-name><filter-class>org.uberfire.ext.security.server.BasicAuthSecurityFilter</filter-class><init-param><param-name>realmName</param-name><param-value>KIE Workbench Realm</param-value></init-param> </filter><filter-mapping><filter-name>HTTP Basic Auth Filter</filter-name><url-pattern>/rest/*</url-pattern><url-pattern>/maven2/*</url-pattern><url-pattern>/ws/*</url-pattern> </filter-mapping>
  • 將遠(yuǎn)程服務(wù)網(wǎng)址格式限制為: <security-constraint><web-resource-collection><web-resource-name>remote-services</web-resource-name><url-pattern>/rest/*</url-pattern><url-pattern>/maven2/*</url-pattern><url-pattern>/ws/*</url-pattern></web-resource-collection><auth-constraint><role-name>rest-all</role-name></auth-constraint> </security-constraint>
  • 重要說明 :使用遠(yuǎn)程服務(wù)的用戶必須是角色rest-all的成員。 如第2步所述,此示例中的admin用戶已經(jīng)是rest-all角色的成員。

    執(zhí)行服務(wù)器

    KIE Execution Server提供的REST API比任何第三方客戶端都可以使用。 本節(jié)介紹如何將KIE Execution Server與Keycloak SSO集成在一起,以便將第三方客戶端身份管理委派給SSO服務(wù)器。

    考慮到以上環(huán)境正在運(yùn)行,因此請(qǐng)考慮具有以下條件:

    • 在http:// localhost:8180 / auth上運(yùn)行并偵聽的Keycloak服務(wù)器
    • 一個(gè)名為demo的領(lǐng)域,其jBPM Workbench的客戶端名為kie
    • 在http:// localhost:8080 / kie-wb-6.4.0-Final運(yùn)行的jBPM工作臺(tái)

    請(qǐng)按照以下步驟將執(zhí)行服務(wù)器添加到此環(huán)境中:

    • 在Keycloak上為執(zhí)行服務(wù)器創(chuàng)建客戶端
    • 安裝安裝程序和執(zhí)行服務(wù)器(帶有KC客戶端適配器)

    步驟1 –在Keycloak上為執(zhí)行服務(wù)器創(chuàng)建客戶端

    根據(jù)要部署的每個(gè)執(zhí)行服務(wù)器,您必須在Keycloak的演示領(lǐng)域中創(chuàng)建一個(gè)新客戶端。

  • 轉(zhuǎn)到KC管理控制臺(tái) ->客戶端->新客戶端
  • 名稱: kie-execution-server
  • 根URL:http:// localhost:8280 /
  • 客戶端協(xié)議:openid-connect
  • 訪問類型:機(jī)密(如果需要,則為公開,但不建議公開)
  • 有效的重定向URI:/kie-server-6.4.0.Final/*
  • 基本網(wǎng)址:/kie-server-6.4.0.Final
  • 在此示例中,先前步驟中已經(jīng)創(chuàng)建的admin用戶是用于客戶端請(qǐng)求的管理員用戶。 因此,請(qǐng)確保管理員用戶是角色kie-server的成員,以便使用執(zhí)行服務(wù)器的遠(yuǎn)程服務(wù)。 如果角色不存在,請(qǐng)創(chuàng)建它。

    注意:此示例認(rèn)為執(zhí)行服務(wù)器將配置為使用200端口偏移量運(yùn)行,因此HTTP端口將在localhost:8280可用

    步驟2 –安裝和設(shè)置KC客戶端適配器和執(zhí)行服務(wù)器

    此時(shí),一個(gè)名為kie-execution-server的客戶端已準(zhǔn)備就緒,可以在KC服務(wù)器上從執(zhí)行服務(wù)器上使用。 讓我們安裝,設(shè)置和部署執(zhí)行服務(wù)器:

  • 安裝另一個(gè)Wildfly服務(wù)器以用于執(zhí)行服務(wù)器和KC客戶端適配器。 您可以按照上面有關(guān)工作臺(tái)的說明進(jìn)行操作,也可以遵循官方的適配器文檔 。
  • 從Wildfly服務(wù)器的配置路徑中編輯standalone-full.xml文件,并將KC子系統(tǒng)適配器配置為: <secure-deployment name="kie-server-6.4.0.Final.war"><realm>demo</realm><realm-public-key>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQAB</realm-public-key><auth-server-url>http://localhost:8180/auth</auth-server-url><ssl-required>external</ssl-required><resource>kie-execution-server</resource><enable-basic-auth>true</enable-basic-auth><credential name="secret">e92ec68d-6177-4239-be05-28ef2f3460ff</credential><principal-attribute>preferred_username</principal-attribute> </secure-deployment>
  • 如果與本示例不同,請(qǐng)考慮您的具體環(huán)境設(shè)置:

    • 安全部署名稱->使用正在部署的執(zhí)行服務(wù)器war文件的名稱
    • 公鑰->使用演示領(lǐng)域公鑰或?qū)⑵浔A魹榭瞻?#xff0c;如果是這樣,服務(wù)器將提供一個(gè)
    • 資源->這次,而不是WB配置中使用的kie客戶端,請(qǐng)使用kie-execution-server客戶端
    • 啟用基本身份驗(yàn)證->由您決定。 您可以為第三方服務(wù)使用者啟用基本身份驗(yàn)證
    • 憑據(jù)->將密鑰用于kie-execution-server客戶端。 您可以在KC管理控制臺(tái)的“ 憑據(jù)”標(biāo)簽中找到它。

    步驟3 –部署和運(yùn)行執(zhí)行服務(wù)器

    只需使用任何可用機(jī)制在Wildfly中部署執(zhí)行服務(wù)器即可。

    使用以下命令運(yùn)行執(zhí)行服務(wù)器:

    $EXEC_SERVER_HOME/bin/standalone.sh -c standalone-full.xml -Djboss.socket.binding.port-offset=200 -Dorg.kie.server.id=<ID> -Dorg.kie.server.user=<USER> -Dorg.kie.server.pwd=<PWD> -Dorg.kie.server.location=<LOCATION_URL> -Dorg.kie.server.controller=<CONTROLLER_URL> -Dorg.kie.server.controller.user=<CONTROLLER_USER> -Dorg.kie.server.controller.pwd=<CONTOLLER_PASSWORD>

    例:

    $EXEC_SERVER_HOME/bin/standalone.sh -c standalone-full.xml -Djboss.socket.binding.port-offset=200 -Dorg.kie.server.id=kieserver1 -Dorg.kie.server.user=admin -Dorg.kie.server.pwd=password -Dorg.kie.server.location=http://localhost:8280/kie-server-6.4.0.Final/services/rest/server -Dorg.kie.server.controller=http://localhost:8080/kie-wb-6.4.0.Final/rest/controller -Dorg.kie.server.controller.user=admin -Dorg.kie.server.controller.pwd=password

    重要說明 :將使用執(zhí)行服務(wù)器遠(yuǎn)程服務(wù)端點(diǎn)的用戶必須具有分配的角色kie-server。 因此,在KC管理控制臺(tái)中為將使用執(zhí)行服務(wù)器遠(yuǎn)程服務(wù)的用戶創(chuàng)建并分配此角色。

    一旦啟動(dòng),您可以將服務(wù)器狀態(tài)檢查為(針對(duì)該請(qǐng)求考慮使用基本身份驗(yàn)證,請(qǐng)參閱下一個(gè)使用遠(yuǎn)程服務(wù)以獲取更多信息):

    curl http://admin:password@localhost:8280/kie-server-6.4.0.Final/services/rest/server/

    消費(fèi)遠(yuǎn)程服務(wù)

    為了使用工作臺(tái)或執(zhí)行服務(wù)器提供的不同遠(yuǎn)程服務(wù),您的客戶端必須在KC服務(wù)器上進(jìn)行身份驗(yàn)證,并且必須具有有效的令牌才能執(zhí)行請(qǐng)求。

    注意 :請(qǐng)記住,為了使用遠(yuǎn)程服務(wù),經(jīng)過身份驗(yàn)證的用戶必須已分配:

    • 使用WB遠(yuǎn)程服務(wù)的所有角色
    • 使用Execution Server遠(yuǎn)程服務(wù)的角色kie-server

    請(qǐng)確保已創(chuàng)建必要的角色并將其分配給將在Keycloak管理控制臺(tái)上使用遠(yuǎn)程服務(wù)的用戶。

    您有兩個(gè)選擇可以使用不同的刪除服務(wù)端點(diǎn):

    • 如果應(yīng)用程序的客戶端支持基本身份驗(yàn)證,則使用它
    • 使用基于承載(令牌)的身份驗(yàn)證

    使用基本身份驗(yàn)證

    如果KC客戶端適配器配置啟用了基本身份驗(yàn)證(如本指南中針對(duì)WB( 步驟3.2 )和Execution Server所建議的那樣),則可以避免令牌授予/刷新調(diào)用,而只需調(diào)用服務(wù)即可,如以下示例所示。

    WB遠(yuǎn)程存儲(chǔ)庫端點(diǎn)的示例:

    curl http://admin:password@localhost:8080/kie-wb-6.4.0.Final/rest/repositories

    檢查執(zhí)行服務(wù)器狀態(tài)的示例:

    curl http://admin:password@localhost:8280/kie-server-6.4.0.Final/services/rest/server/

    使用基于令牌的身份驗(yàn)證

    第一步是在Keycloak上創(chuàng)建一個(gè)新客戶端,該客戶端允許第三方遠(yuǎn)程服務(wù)客戶端獲取令牌。 可以通過以下方式完成:

    • 轉(zhuǎn)到KC管理控制臺(tái),然后使用以下配置創(chuàng)建新客戶端 :
      • 客戶編號(hào): kie-remote
    • 當(dāng)我們將要手動(dòng)獲取令牌并調(diào)用服務(wù)時(shí),讓我們稍微延長令牌的壽命。 在生產(chǎn)訪問令牌中,令牌應(yīng)具有相對(duì)較低的超時(shí),最好少于5分鐘:
      • 轉(zhuǎn)到KC管理控制臺(tái)

    創(chuàng)建用于遠(yuǎn)程客戶端的公共客戶端后,您現(xiàn)在可以通過對(duì)KC服務(wù)器的令牌端點(diǎn)執(zhí)行HTTP請(qǐng)求來獲取令牌。 這是命令行示例:

    RESULT=`curl --data "grant_type=password&client_id=kie-remote&username=admin&passwordpassword=<the_client_secret>" http://localhost:8180/auth/realms/demo/protocol/openid-connect/token`TOKEN=`echo $RESULT | sed 's/.*access_token":"//g' | sed 's/".*//g'`

    此時(shí),如果您回顯$ TOKEN ,它將輸出從KC服務(wù)器獲得的令牌字符串,該令牌字符串現(xiàn)在可用于授權(quán)對(duì)遠(yuǎn)程端點(diǎn)的進(jìn)一步調(diào)用。 例如,如果要檢查內(nèi)部jBPM存儲(chǔ)庫:

    curl -H "Authorization: bearer $TOKEN" http://localhost:8080/kie-wb-6.4.0.Final/rest/repositories

    翻譯自: https://www.javacodegeeks.com/2016/03/keycloak-sso-integration-jbpm-drools-workbench.html

    sso集成shiro

    總結(jié)

    以上是生活随笔為你收集整理的sso集成shiro_Keycloak SSO集成到jBPM和Drools Workbench中的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。