Get user's roles from groups using POST
by Eric Matte
Hi, I need to get all user roles from a specified user ID from all assigned groups for this particular user.
I have searched into the API documentation and found no link that could returns me all roles of the authenticated user.
Currently, I have the user id, the realm name, the client id, and an admin token.
I need to send a POST method from my backend in order for it the properly set all the session's variables.
http://www.keycloak.org/docs/rest-api/#_userrepresentation<http://www.keycloak.org/docs/rest-api/%23_userrepresentation>
>From this link, UserRepresentation seems to have everything I need, but while checking the code on GitHub, the function for "GET /admin/realms/{realm}/users/{id}" only returns the few first variables (name, email, id, etc.). But, clientRoles, for instance, is not returned.
Thank you
8 years, 4 months
One-time access token
by Wieloch, Marcin
Hi,
I am working on a system where we would like to enforce that for some particular resources
the resource owner has to authorise each access to such a resource. In other words, we want
the user to re-type in his username and password each time he executes a particular operation.
In this context, does Keycloak provide something like 'one-time' access tokens?
Or does it maybe support such a use case in yet another way?
Best regards,
Marcin
The information in this email and any attachments is confidential and intended solely for the use of the individual(s) to whom it is addressed or otherwise directed.
Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the Company.
Finally, the recipient should check this email and any attachments for the presence of viruses.
The Company accepts no liability for any damage caused by any virus transmitted by this email.
8 years, 4 months
help
by Amit Arora
I need to know if I can update a particular user's totp using any rest
service on keycloak , Can I pass the bearer access_token on the service
along with totp / totpsecret to get totp updated/added for the owner of the
access_token ?
Please help me out.
Thanks
8 years, 4 months
Integrating with enterprise PKI e.g. Entrust..
by Jonathan Rathbone
Hi there,
hope you can help. I’ve searched the documentation, and nothing seems to jump out that clarifies this so…
I have a set of web apps and services, all secured with Keycloak using OAuth and JWT, with Single-Sign-On.
I have a potential customer who is looking for us to integrate our app suite with their enterprise PKI solution for IDP and SSO.
Is there a way that Keycloak can enable this for us, so that we can keep our app architecture isolated from the customers specific security architecture, or will we have to produce a version of our apps and services that have a dedicated integration to the enterprise PKI solution’s services?
Sorry if this is a bit of noob question!
sincere thanks,
Jon
8 years, 4 months
CDI Support within Authenticators and Providers?
by Jared Blashka
Is there a way to enable CDI support within custom Authenticator and
Provider implementations?
I added the weld subsystem into our standalone.xml and added a beans.xml
into the keycloak-server-subsystem WEB-INF directory, but the weld
subsystem still wasn't recognizing the keycloak-server.war deployment as
CDI-enabled (though other wars deployed on JBoss were recognized without
issues).
I wanted to provide a default cache manager and annotate some of my
authenticator/provider methods with @CacheResult to cache some fairly
lengthy (but stable) data fetch operations.
I could manually persist this data in an infinispan cache, but using the
annotations would be cleaner
Jared
8 years, 4 months
How to add a link to User Account Service page in keycloak-spring app
by Hartmut Benz
Hi all,
when migrating a spring application to use KeyCloak, what is the best
way to add a link to User Account Service page of the current user?
I had hoped to find something similar to the "/sso/logout" relative URI
that the 'standard' configuration rewrites to an appropriate call to the
KC server, but digging through the docs, the spring-adapter itself, demo
project on github, and general googling have not provided an easy solution.
Thanks in advance for your help and tips.
Hartmut
8 years, 4 months
Fwd: keycloak-2.1.0.Final On cluster
by Aman Jaiswal
https://developer.jboss.org/message/962625#962625
Hi
I am trying to run keycloak-2.1.0.Final in Cluster mode on AWS, but AWS
does not support multicast .
For previous version of keycloak-1.5.0.Final it is working fine on cluster
mode but new version of keycloak-2.1.0.Final is not working precisely on
cluster mode,
The setup of keycloak-1.5.0.Final is done by the different person and I am
trying to replicate same setting on keycloak-2.1.0.FInal
I have 2 AWS servers which is running behind the load balancer with S3
bucket, S3 bucket is use to setup a communication between both the servers
after starting the keycloak I am thinking that is's working fine because my
both the instances are running behind load balancer and s3 buckets are
working fine but I am wrong it is not working fine, After changing the
password I realise that it is not working fine because after logout some
time
I am able to login with new password and some time it accepts old one.First
I think It is load balancer stickiness problem so I change it
here are following problems with this when stickiness is enable or disable
1: load balancer stickiness is disable
keycloak start without any error and when trying to login it gives
error in LOG like "Invalid User" or "an error occurred please login aging
through your application"
2: Load Banalcer stickiness is enable (Enable load balancer generated
cookie stickiness)
keyclaok start without any error and also open in browser with admin
login , and when I am trying to change the password it does not reflect on
both the servers
because it does not update the cache of both server, so some time it
gives access by new password and some time with old password .
I dont wnat to use any alternet option for this so please help me for this
*following are settings which I have made in the standalone-ha.xml file...
and setting for s3 buckets are in bold*
<?xml version="1.0" ?>
<server xmlns="urn:jboss:domain:4.0">
<extensions>
<extension module="org.jboss.as.clustering.infinispan"/>
<extension module="org.jboss.as.clustering.jgroups"/>
<extension module="org.jboss.as.connector"/>
<extension module="org.jboss.as.ee"/>
<extension module="org.jboss.as.ejb3"/>
<extension module="org.jboss.as.jaxrs"/>
<extension module="org.jboss.as.jdr"/>
<extension module="org.jboss.as.jmx"/>
<extension module="org.jboss.as.jpa"/>
<extension module="org.jboss.as.jsf"/>
<extension module="org.jboss.as.logging"/>
<extension module="org.jboss.as.mail"/>
<extension module="org.jboss.as.modcluster"/>
<extension module="org.jboss.as.naming"/>
<extension module="org.jboss.as.remoting"/>
<extension module="org.jboss.as.security"/>
<extension module="org.jboss.as.transactions"/>
<extension module="org.keycloak.keycloak-server-subsystem"/>
<extension module="org.wildfly.extension.bean-validation"/>
<extension module="org.wildfly.extension.io"/>
<extension module="org.wildfly.extension.request-controller"/>
<extension module="org.wildfly.extension.security.manager"/>
<extension module="org.wildfly.extension.undertow"/>
</extensions>
<management>
<security-realms>
<security-realm name="ManagementRealm">
<authentication>
<local default-user="$local" skip-group-loading="true"/>
<properties path="mgmt-users.properties"
relative-to="jboss.server.config.dir"/>
</authentication>
<authorization map-groups-to-roles="false">
<properties path="mgmt-groups.properties"
relative-to="jboss.server.config.dir"/>
</authorization>
</security-realm>
<security-realm name="ApplicationRealm">
<authentication>
<local default-user="$local" allowed-users="*"
skip-group-loading="true"/>
<properties path="application-users.properties"
relative-to="jboss.server.config.dir"/>
</authentication>
<authorization>
<properties path="application-roles.properties"
relative-to="jboss.server.config.dir"/>
</authorization>
</security-realm>
</security-realms>
<audit-log>
<formatters>
<json-formatter name="json-formatter"/>
</formatters>
<handlers>
<file-handler name="file" formatter="json-formatter"
relative-to="jboss.server.data.dir" path="audit-log.log"/>
</handlers>
<logger log-boot="true" log-read-only="false" enabled="false">
<handlers>
<handler name="file"/>
</handlers>
</logger>
</audit-log>
<management-interfaces>
<http-interface security-realm="ManagementRealm"
http-upgrade-enabled="true">
<socket-binding http="management-http"/>
</http-interface>
</management-interfaces>
<access-control provider="simple">
<role-mapping>
<role name="SuperUser">
<include>
<user name="$local"/>
</include>
</role>
</role-mapping>
</access-control>
</management>
<profile>
<subsystem xmlns="urn:jboss:domain:logging:3.0">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<named-formatter name="COLOR-PATTERN"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
<formatter>
<named-formatter name="PATTERN"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
<level name="WARN"/>
</logger>
<logger category="org.jboss.as.config">
<level name="DEBUG"/>
</logger>
<logger category="sun.rmi">
<level name="WARN"/>
</logger>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
<formatter name="PATTERN">
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS}
%-5p [%c] (%t) %s%e%n"/>
</formatter>
<formatter name="COLOR-PATTERN">
<pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p
[%c] (%t) %s%e%n"/>
</formatter>
</subsystem>
<subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/>
<subsystem xmlns="urn:jboss:domain:datasources:4.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS"
pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_
CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
*<datasource jndi-name="java:jboss/datasources/KeycloakDS"
pool-name="KeycloakDS" enabled="true" use-java-context="true">*
*<connection-url>jdbc:mysql://keycloak-dev-mysql</connection-url>*
* <driver>mysql</driver>*
*
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>*
* <pool>*
* <min-pool-size>10</min-pool-size>*
* <max-pool-size>20</max-pool-size>*
* </pool>*
* <security>*
* <user-name>user</user-name>*
* <password>password</password>*
* </security>*
* </datasource>*
<drivers>
<driver name="mysql" module="org.mysql">
<xa-datasource-class>org.mysql</xa-datasource-class>
</driver>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-
datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
<subsystem xmlns="urn:jboss:domain:ee:4.0">
<spec-descriptor-property-replacement>false</spec-
descriptor-property-replacement>
<concurrent>
<context-services>
<context-service name="default"
jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-
provider="true"/>
</context-services>
<managed-thread-factories>
<managed-thread-factory name="default"
jndi-name="java:jboss/ee/concurrency/factory/default"
context-service="default"/>
</managed-thread-factories>
<managed-executor-services>
<managed-executor-service name="default"
jndi-name="java:jboss/ee/concurrency/executor/default"
context-service="default" hung-task-threshold="60000"
keepalive-time="5000"/>
</managed-executor-services>
<managed-scheduled-executor-services>
<managed-scheduled-executor-service name="default"
jndi-name="java:jboss/ee/concurrency/scheduler/default"
context-service="default" hung-task-threshold="60000"
keepalive-time="3000"/>
</managed-scheduled-executor-services>
</concurrent>
<default-bindings context-service="java:jboss/
ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS"
managed-executor-service="java:jboss/ee/concurrency/executor/default"
managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default"
managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:ejb3:4.0">
<session-bean>
<stateless>
<bean-instance-pool-ref pool-name="slsb-strict-max-
pool"/>
</stateless>
<stateful default-access-timeout="5000"
cache-ref="distributable" passivation-disabled-cache-ref="simple"/>
<singleton default-access-timeout="5000"/>
</session-bean>
<pools>
<bean-instance-pools>
<!-- Automatically configure pools. Alternatively,
max-pool-size can be set to a specific value -->
<strict-max-pool name="slsb-strict-max-pool"
derive-size="from-worker-pools" instance-acquisition-timeout="5"
instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="mdb-strict-max-pool"
derive-size="from-cpu-count" instance-acquisition-timeout="5"
instance-acquisition-timeout-unit="MINUTES"/>
</bean-instance-pools>
</pools>
<caches>
<cache name="simple"/>
<cache name="distributable" passivation-store-ref="infinispan"
aliases="passivating clustered"/>
</caches>
<passivation-stores>
<passivation-store name="infinispan" cache-container="ejb"
max-size="10000"/>
</passivation-stores>
<async thread-pool-name="default"/>
<timer-service thread-pool-name="default"
default-data-store="default-file-store">
<data-stores>
<file-data-store name="default-file-store"
path="timer-service-data" relative-to="jboss.server.data.dir"/>
</data-stores>
</timer-service>
<remote connector-ref="http-remoting-connector"
thread-pool-name="default"/>
<thread-pools>
<thread-pool name="default">
<max-threads count="10"/>
<keepalive-time time="100" unit="milliseconds"/>
</thread-pool>
</thread-pools>
<default-security-domain value="other"/>
<default-missing-method-permissions-deny-access value="true"/>
<log-system-exceptions value="true"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:io:1.1">
<worker name="default"/>
<buffer-pool name="default"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:infinispan:4.0">
<cache-container name="keycloak" jndi-name="infinispan/
Keycloak">
<transport lock-timeout="60000"/>
<invalidation-cache name="realms" mode="SYNC"/>
<invalidation-cache name="users" mode="SYNC">
<eviction max-entries="10000" strategy="LRU"/>
</invalidation-cache>
<distributed-cache name="sessions" mode="SYNC" owners="1"/>
<distributed-cache name="offlineSessions" mode="SYNC"
owners="1"/>
<distributed-cache name="loginFailures" mode="SYNC"
owners="1"/>
<replicated-cache name="work" mode="SYNC"/>
</cache-container>
<cache-container name="server" aliases="singleton cluster"
default-cache="default" module="org.wildfly.clustering.server">
<transport lock-timeout="60000"/>
<replicated-cache name="default" mode="SYNC">
<transaction mode="BATCH"/>
</replicated-cache>
</cache-container>
<cache-container name="web" default-cache="dist"
module="org.wildfly.clustering.web.infinispan">
<transport lock-timeout="60000"/>
<distributed-cache name="dist" mode="ASYNC" l1-lifespan="0"
owners="2">
<locking isolation="REPEATABLE_READ"/>
<transaction mode="BATCH"/>
<file-store/>
</distributed-cache>
</cache-container>
<cache-container name="ejb" aliases="sfsb" default-cache="dist"
module="org.wildfly.clustering.ejb.infinispan">
<transport lock-timeout="60000"/>
<distributed-cache name="dist" mode="ASYNC" l1-lifespan="0"
owners="2">
<locking isolation="REPEATABLE_READ"/>
<transaction mode="BATCH"/>
<file-store/>
</distributed-cache>
</cache-container>
<cache-container name="hibernate" default-cache="local-query"
module="org.hibernate.infinispan">
<transport lock-timeout="60000"/>
<invalidation-cache name="entity" mode="SYNC">
<transaction mode="NON_XA"/>
<eviction strategy="LRU" max-entries="10000"/>
<expiration max-idle="100000"/>
</invalidation-cache>
<local-cache name="local-query">
<eviction strategy="LRU" max-entries="10000"/>
<expiration max-idle="100000"/>
</local-cache>
<replicated-cache name="timestamps" mode="ASYNC"/>
</cache-container>
</subsystem>
<subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
<subsystem xmlns="urn:jboss:domain:jca:4.0">
<archive-validation enabled="true" fail-on-error="true"
fail-on-warn="false"/>
<bean-validation enabled="true"/>
<default-workmanager>
<short-running-threads>
<core-threads count="50"/>
<queue-length count="50"/>
<max-threads count="50"/>
<keepalive-time time="10" unit="seconds"/>
</short-running-threads>
<long-running-threads>
<core-threads count="50"/>
<queue-length count="50"/>
<max-threads count="50"/>
<keepalive-time time="10" unit="seconds"/>
</long-running-threads>
</default-workmanager>
<cached-connection-manager/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
<subsystem xmlns="urn:jboss:domain:jgroups:4.0">
*<channels default="ee">*
* <channel name="ee" stack="udp"/>*
* </channels>*
*<stacks default="s3">*
* <stack name="udp">*
*<transport type="UDP" socket-binding="jgroups-udp"/>*
* <protocol type="PING"/>*
* <protocol type="MERGE3"/>*
* <protocol type="FD_SOCK"
socket-binding="jgroups-udp-fd"/>*
* <protocol type="FD_ALL"/>*
* <protocol type="VERIFY_SUSPECT"/>*
* <protocol type="pbcast.NAKACK2"/>*
* <protocol type="UNICAST3"/>*
* <protocol type="pbcast.STABLE"/>*
* <protocol type="pbcast.GMS"/>*
* <protocol type="UFC"/>*
* <protocol type="MFC"/>*
* <protocol type="FRAG2"/>*
* </stack>*
* <stack name="tcp">*
* <transport type="TCP" socket-binding="jgroups-tcp"/>*
* <protocol type="MPING"
socket-binding="jgroups-mping"/>*
* <protocol type="MERGE3"/>*
* <protocol type="FD_SOCK"
socket-binding="jgroups-tcp-fd"/>*
* <protocol type="FD"/>*
* <protocol type="VERIFY_SUSPECT"/>*
* <protocol type="pbcast.NAKACK2"/>*
* <protocol type="UNICAST3"/>*
* <protocol type="pbcast.STABLE"/>*
* <protocol type="pbcast.GMS"/>*
* <protocol type="MFC"/>*
* <protocol type="FRAG2"/>*
* </stack>*
*<stack name="s3">*
* <transport type="TCP" socket-binding="jgroups-tcp"/>*
* <protocol type="S3_PING">*
* <property name="location">${jgroups.s3.bucket:}</property>*
* <property name="access_key">${jgroups.s3.access_key:}</property>*
* <property
name="secret_access_key">${jgroups.s3.secret_access_key:}</property>*
* </protocol>*
* <protocol type="MERGE3"/>*
* <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>*
* <protocol type="FD_ALL"/>*
* <protocol type="VERIFY_SUSPECT"/>*
* <protocol type="pbcast.NAKACK2">*
* <property name="use_mcast_xmit">false</property>*
* </protocol>*
* <protocol type="UNICAST3"/>*
* <protocol type="pbcast.STABLE"/>*
* <protocol type="pbcast.GMS"/>*
* <protocol type="MFC"/>*
* <protocol type="FRAG2">*
* <property name="frag_size">16K</property>*
* </protocol>*
* </stack>*
* </stacks>*
</subsystem>
<subsystem xmlns="urn:jboss:domain:jmx:1.3">
<expose-resolved-model/>
<expose-expression-model/>
<remoting-connector/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:jpa:1.1">
<jpa default-datasource="" default-extended-persistence-
inheritance="DEEP"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
<subsystem xmlns="urn:jboss:domain:mail:2.0">
<mail-session name="default" jndi-name="java:jboss/mail/
Default">
<smtp-server outbound-socket-binding-ref="mail-smtp"/>
</mail-session>
</subsystem>
<subsystem xmlns="urn:jboss:domain:modcluster:2.0">
<mod-cluster-config advertise-socket="modcluster"
connector="ajp">
<dynamic-load-provider>
<load-metric type="cpu"/>
</dynamic-load-provider>
</mod-cluster-config>
</subsystem>
<subsystem xmlns="urn:jboss:domain:naming:2.0">
<remote-naming/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:remoting:3.0">
<endpoint/>
<http-connector name="http-remoting-connector"
connector-ref="default" security-realm="ApplicationRealm"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
<subsystem xmlns="urn:jboss:domain:security-manager:1.0">
<deployment-permissions>
<maximum-set>
<permission class="java.security.AllPermission"/>
</maximum-set>
</deployment-permissions>
</subsystem>
<subsystem xmlns="urn:jboss:domain:security:1.2">
<security-domains>
<security-domain name="other" cache-type="default">
<authentication>
<login-module code="Remoting" flag="optional">
<module-option name="password-stacking"
value="useFirstPass"/>
</login-module>
<login-module code="RealmDirect" flag="required">
<module-option name="password-stacking"
value="useFirstPass"/>
</login-module>
</authentication>
</security-domain>
<security-domain name="jboss-web-policy"
cache-type="default">
<authorization>
<policy-module code="Delegating" flag="required"/>
</authorization>
</security-domain>
<security-domain name="jboss-ejb-policy"
cache-type="default">
<authorization>
<policy-module code="Delegating" flag="required"/>
</authorization>
</security-domain>
<security-domain name="jaspitest" cache-type="default">
<authentication-jaspi>
<login-module-stack name="dummy">
<login-module code="Dummy" flag="optional"/>
</login-module-stack>
<auth-module code="Dummy"/>
</authentication-jaspi>
</security-domain>
</security-domains>
</subsystem>
<subsystem xmlns="urn:jboss:domain:transactions:3.0">
<core-environment node-identifier="keycloak">
<process-id>
<uuid/>
</process-id>
</core-environment>
<recovery-environment socket-binding="txn-recovery-environment"
status-socket-binding="txn-status-manager"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:undertow:3.0">
<buffer-cache name="default"/>
<server name="default-server">
<ajp-listener name="ajp" socket-binding="ajp"/>
<http-listener name="default" socket-binding="http"
redirect-socket="https" />
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
</host>
</server>
<servlet-container name="default">
<jsp-config/>
<websockets/>
</servlet-container>
<handlers>
<file name="welcome-content" path="${jboss.home.dir}/
welcome-content"/>
</handlers>
<filters>
<response-header name="server-header" header-name="Server"
header-value="WildFly/10"/>
<response-header name="x-powered-by-header"
header-name="X-Powered-By" header-value="Undertow/1"/>
</filters>
</subsystem>
<subsystem xmlns="urn:jboss:domain:keycloak-server:1.1">
<web-context>auth</web-context>
</subsystem>
</profile>
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.
management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:127.0.0.1}"/>
</interface>
<interface name="private">
<inet-address value="${jboss.bind.address.private:127.0.0.1}"/>
</interface>
</interfaces>
<socket-binding-group name="standard-sockets"
default-interface="public" port-offset="${jboss.socket.
binding.port-offset:0}">
<socket-binding name="management-http" interface="management"
port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="management"
port="${jboss.management.https.port:9993}"/>
<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
<socket-binding name="http" port="${jboss.http.port:8080}"/>
<socket-binding name="https" port="${jboss.https.port:8443}"/>
<socket-binding name="jgroups-mping" interface="private" port="0"
multicast-address="${jboss.default.multicast.address:230.0.0.4}"
multicast-port="45700"/>
<socket-binding name="jgroups-tcp" interface="private" port="7600"/>
<socket-binding name="jgroups-tcp-fd" interface="private"
port="57600"/>
<socket-binding name="jgroups-udp" interface="private" port="55200"
multicast-address="${jboss.default.multicast.address:230.0.0.4}"
multicast-port="45688"/>
<socket-binding name="jgroups-udp-fd" interface="private"
port="54200"/>
<socket-binding name="modcluster" port="0"
multicast-address="224.0.1.105" multicast-port="23364"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>
</socket-binding-group>
</server>
--
Thanks,
Aman Jaiswal
--
Thanks,
Aman Jaiswal
8 years, 4 months
Invoke interceptor to modify object created by adatper after reading keycloak json file
by abhishek raghav
Hello,
Is there anyway we can use keep/invoke some kind of interceptor once
keycloak.json file has been read and object created by keycloak
adapter(code) for web application adapter. Which class get initialized and
create's object from installed JSON file?
Do not want to keep client key and keystore password in JSON file instead
can be pulled from somewhere else at run time and will inject into created
object with custom code.
Please do let me know if further information is required.
Thanks ,
Abhishek Raghav
8 years, 4 months