[keycloak-dev] min-time-between-jwks-requests Problems when running tests
Bill Burke
bburke at redhat.com
Wed Mar 1 18:29:41 EST 2017
Ok, I just spent 1.5 days on debugging a problem and I was ready to
throw my Laptop out of the window I was getting so frustrated.
#1 I copied code from the arquillian adapter tests to deploy my own
servlet. When running in IntelliJ, all logging messages by the servlet
and OIDC adapters were eaten and never displayed.
#2 If you have a @Deployment it deploys it in @BeforeClass and only once
for all tests run in the class
#3 I recreate/destroy my realms for every test
#4 The default "min-time-between-jwks-requests" is 10 seconds...Because
my servlet doesn't get redeployed per test, the 1st test would set up
the cache for the realm key for the servlet. The 2nd test would run,
because the realms were recreated, there is a different key, but the
min-time-between-jwkds-requests was 10 seconds so it wasn't updating the
key and my logins would fail. This was extermely frustrating to debug
because of #1 and because it only happened if I was running all tests in
the class.
The workaround is to set "min-time-between-jwks-requests" to zero in
your adapter configuration. This is an FYI just in case somebody else
runs into this. Took me awhile to figure out.
More information about the keycloak-dev
mailing list