From 4e6ca5248eb7f9df473d64d6f8f11c42a1b41524 Mon Sep 17 00:00:00 2001 From: ykalidin Date: Mon, 22 Apr 2024 16:21:28 +0530 Subject: [PATCH] Adding Keycloak SSO example --- KeycloakSSO/KeycloakSSO/Deployments/sso.cdd | 136 ++++++++++++++++++ KeycloakSSO/KeycloakSSO/Events/Timer.time | 2 + .../KeycloakSSO/KeyclockSSO.conceptview | 0 KeycloakSSO/KeycloakSSO/KeyclockSSO.eventview | 0 .../KeycloakSSO/KeyclockSSO.projectview | 0 KeycloakSSO/KeycloakSSO/Rules/Token.rule | 24 ++++ KeycloakSSO/KeycloakSSO/pom.xml | 43 ++++++ KeycloakSSO/KeyclockSSO.ear | Bin 0 -> 10623 bytes KeycloakSSO/Readme.html | 89 ++++++++++++ 9 files changed, 294 insertions(+) create mode 100644 KeycloakSSO/KeycloakSSO/Deployments/sso.cdd create mode 100644 KeycloakSSO/KeycloakSSO/Events/Timer.time create mode 100644 KeycloakSSO/KeycloakSSO/KeyclockSSO.conceptview create mode 100644 KeycloakSSO/KeycloakSSO/KeyclockSSO.eventview create mode 100644 KeycloakSSO/KeycloakSSO/KeyclockSSO.projectview create mode 100644 KeycloakSSO/KeycloakSSO/Rules/Token.rule create mode 100644 KeycloakSSO/KeycloakSSO/pom.xml create mode 100644 KeycloakSSO/KeyclockSSO.ear create mode 100644 KeycloakSSO/Readme.html diff --git a/KeycloakSSO/KeycloakSSO/Deployments/sso.cdd b/KeycloakSSO/KeycloakSSO/Deployments/sso.cdd new file mode 100644 index 0000000..3c5a95d --- /dev/null +++ b/KeycloakSSO/KeycloakSSO/Deployments/sso.cdd @@ -0,0 +1,136 @@ + + + + 3 + yogita + 2024/04/18 15:35:18 + + + sso + UTF-8 + + + + + + 60 + 0 + 5 + 5 + 5 + 900 + -1 + 1 + + + + default + always_on + 1.0 + tracecontext + + + / + + + none + + + + + / + + + + + / + + + + + + + true + *:info + + true + logs + + 10 + 5000000 + true + + + + false + false + + + + false + + + + + + + + + /Rules/Token + + + + + + + 1024 + 900 + + + + 1024 + 10 + + + + + false + false + + + + + + + + + + + inference-class + + + + + logConfig + false + false + false + + + + + + + + + + + + + + + + + + + diff --git a/KeycloakSSO/KeycloakSSO/Events/Timer.time b/KeycloakSSO/KeycloakSSO/Events/Timer.time new file mode 100644 index 0000000..3639877 --- /dev/null +++ b/KeycloakSSO/KeycloakSSO/Events/Timer.time @@ -0,0 +1,2 @@ + + diff --git a/KeycloakSSO/KeycloakSSO/KeyclockSSO.conceptview b/KeycloakSSO/KeycloakSSO/KeyclockSSO.conceptview new file mode 100644 index 0000000..e69de29 diff --git a/KeycloakSSO/KeycloakSSO/KeyclockSSO.eventview b/KeycloakSSO/KeycloakSSO/KeyclockSSO.eventview new file mode 100644 index 0000000..e69de29 diff --git a/KeycloakSSO/KeycloakSSO/KeyclockSSO.projectview b/KeycloakSSO/KeycloakSSO/KeyclockSSO.projectview new file mode 100644 index 0000000..e69de29 diff --git a/KeycloakSSO/KeycloakSSO/Rules/Token.rule b/KeycloakSSO/KeycloakSSO/Rules/Token.rule new file mode 100644 index 0000000..f0976b1 --- /dev/null +++ b/KeycloakSSO/KeycloakSSO/Rules/Token.rule @@ -0,0 +1,24 @@ +/** + * @description + * @author yogita-ThinkPad-T14-Gen-2i + */ +rule Rules.Token { + attribute { + priority = 5; + forwardChain = true; + } + declare { + Events.Timer request; + } + when { + + } + then { + String output = Authentication.ssoAuthenticate("https://www.keycloak.org/app/#url=http://localhost:8080&realm=myrealm&client=myclient","myuser","YWRtaW4="); + if(output == null) + System.debugOut("Authentication Failed"); + else + System.debugOut("Authentication succeeded"); + System.debugOut("Keycloak Token:"+output); + } +} \ No newline at end of file diff --git a/KeycloakSSO/KeycloakSSO/pom.xml b/KeycloakSSO/KeycloakSSO/pom.xml new file mode 100644 index 0000000..58d9d43 --- /dev/null +++ b/KeycloakSSO/KeycloakSSO/pom.xml @@ -0,0 +1,43 @@ + + + 4.0.0 + + com.tibco.cep + runtime + 6.3.1 + + com.tibco.be + KeyclockSSO + ear + + + + yogita + + + + /home/yogita/testing/be/6.3 + + 6.3.1 + + + + + com.tibco.be.maven.plugin + be-maven-plugin + ${project.parent.version} + true + + + false + ${projectVersion} + /home/yogita/631work/KeyclockSSO/Deployments/KeyclockSSO.ear + false + true + + + + + + diff --git a/KeycloakSSO/KeyclockSSO.ear b/KeycloakSSO/KeyclockSSO.ear new file mode 100644 index 0000000000000000000000000000000000000000..176b2ba0e08fabbba6ebd3903004fbbce2f910cc GIT binary patch literal 10623 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 t3DtjGw*O(O{m + + + + + Keycloak SSO + + - TIBCO BusinessEvents® Examples + + + + + + + + + + +

Purpose of This Example

+ +

The KeycloakSSO example demonstrates how TIBCO BusinessEvents® uses the ssoAuthenticate function to retrieve + Keycloak token.

+ +

About the project

+ +

The project has a single agent class - inference

+ +

The inference agent has Token rule which triggers when a Timer event is generated.The rule retrives the token using + ssoAuthenticate function and logs the Authentication

+ +

Running the project

+ +
    + +
  1. +

    Make sure to run Keycloak with Docker following the URL + https://www.keycloak.org/getting-started/getting-started-docker.

    +
  2. + +
  3. +

    Add the below configuration to BE_HOME\mm\config\jaas-config.config file.

    + SSOAuthenticator { + com.tibco.cep.security.authen.sso.SSOLoginModule required debug=true; + }; +
  4. + +
  5. +

    Update the BE_HOME\mm\config\users.pwd with the user and password(MD5 Hash) created in step 1 as an MM_Administrator.For Example- myuser:21232f297a57a5a743894a0e4a801fc3:MM_ADMINISTRATOR; Now add the + property name="be.auth.file.location" and value="BE_HOME\mm\config\users.pwd" in "auth" property-group in the cdd.

    +
  6. + +
  7. +

    Open a command window. Start a inference agent instance.

    +
    +
    +BE_HOME/bin/be-engine --propFile BE_HOME\bin\be-engine.tra -u default -c Deployments/sso.cdd Deployments/KeyclockSSO.ear
    +
    +
  8. + +
+ +

Output

+ +

Once the engine is up and running the agent starts retrieving tokens periodically.

+ +

Sample output

+
+...
+2024 Apr 18 16:37:00:759 GMT +05 yogita-ThinkPad-T14-Gen-2i INFO [inference-class.HiResTimer] - [user] [inference-class] Authentication succeeded
+2024 Apr 18 16:37:00:759 GMT +05 yogita-ThinkPad-T14-Gen-2i INFO [inference-class.HiResTimer] - [user] [inference-class] Keycloak Token:PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFNTT1Rva2VuIElEPSI2ODg2
+ZjFmMS0yZmMzLTRmMzUtODMxOC00YzJlY2Y4NjkwYjYiPjxTdWJqZWN0Pm15dXNlcjwvU3ViamVj
+dD48SXNzdWVyPmh0dHBzOi8vd3d3LmtleWNsb2FrLm9yZy9hcHAvI3VybD1odHRwOi8vbG9jYWxo
+b3N0OjgwODAmYW1wO3JlYWxtPb3N0OjgwODAmYW1wO3JlYWxtPW15cmVhbG0mYW1wO2NsaWVudD1teWNsaWVudDwvSXNzdWVyPjxJ
+W15cmVhbG0mYW1wO2NsaWVudD1teWNsaWVudDwvSXNzdWVyPjxJ
+c3N1ZUluc3RhbnQ+VGh1IEFwciAxOCAxNjozNzowMCBJU1QgMjAyNDwvSXNzdWVJbnN0YW50Pjwv
+U1NPVG9rZW4+
+...
+
+ + + + + \ No newline at end of file