Compare commits

...
781 Commits
Author SHA1 Message Date
Stian Thorgersen 1167063c67 Set version to 1.9.6.Final 2016-06-01 16:37:44 +02:00
Stian Thorgersen 7f7e7f248f Merge pull request #2897 from stianst/1.9.x
KEYCLOAK-3066
2016-06-01 16:30:03 +02:00
Stian Thorgersen fef41454b3 KEYCLOAK-3066
Uploaded Realm Certificate is not validated
2016-06-01 15:11:12 +02:00
keycloak-bot 3f938d16fd Set version to 1.9.6.Final-SNAPSHOT 2016-05-26 18:27:21 +00:00
keycloak-bot 46a6c0e002 Set version to 1.9.5.Final 2016-05-26 17:12:20 +00:00
Stian Thorgersen 6bec306173 Merge pull request #2893 from stianst/1.9.x
Ignore temperamental test
2016-05-26 19:11:22 +02:00
Stian Thorgersen 21e0f600c0 Ignore temperamental test 2016-05-26 19:10:23 +02:00
Stian Thorgersen 3ab8917e01 Merge pull request #2892 from stianst/1.9.x
[KEYCLOAK-2894] - Fixing saml signature validation
2016-05-26 17:01:04 +02:00
Pedro Igor 11cc678296 [KEYCLOAK-2894] - Fixing saml signature validation 2016-05-26 15:58:01 +02:00
Stian Thorgersen 7428d969f0 Merge pull request #2887 from ssilvert/1.9.x-migrate-events
KEYCLOAK-2912 Migrate events package to new testsuite
2016-05-26 15:01:52 +02:00
Stian Thorgersen 179dde5f55 Merge pull request #2890 from stianst/1.9.x
Fixes displaying message on login using base theme
2016-05-26 09:50:43 +02:00
Fernando Mora 07369b7e1a Fixes displaying message on login using base theme
Using base theme produces an error when login page tries to display a message.
The following properties that are not defined in base theme (only in keycloak theme) are being called without default_value operator "!"

* Steps to Reproduce:
1. Set `base` theme as `Login Theme`
2. Sign out
3. Try to sign in using and invalid username/password

* Expected behaviour:
  * Message `Invalid username or password.`is shown
* Actual behavior:
  * Bank page is shown and following stackatrace in logs:
```
15:58:19,575 ERROR [freemarker.runtime] (default task-9) Error executing FreeMarker template: freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:
==> properties.kcFeedbackErrorIcon  [in template "template.ftl" at line 67, column 76]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${properties.kcFeedbackErrorIcon}  [in template "template.ftl" in macro "registrationLayout" at line 67, column 74]
	- Reached through: @layout.registrationLayout displayInf...  [in template "login.ftl" at line 2, column 1]
----
	at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:131)
	at freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:355)
	at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82)
	at freemarker.core.DollarVariable.accept(DollarVariable.java:41)
	at freemarker.core.Environment.visit(Environment.java:324)
	at freemarker.core.MixedContent.accept(MixedContent.java:54)
	at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)
	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)
	at freemarker.core.Environment.visit(Environment.java:324)
	at freemarker.core.MixedContent.accept(MixedContent.java:54)
	at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)
	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)
	at freemarker.core.Environment.visit(Environment.java:324)
	at freemarker.core.MixedContent.accept(MixedContent.java:54)
	at freemarker.core.Environment.visit(Environment.java:324)
	at freemarker.core.Macro$Context.runMacro(Macro.java:184)
	at freemarker.core.Environment.invoke(Environment.java:701)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
	at freemarker.core.Environment.visit(Environment.java:324)
	at freemarker.core.MixedContent.accept(MixedContent.java:54)
	at freemarker.core.Environment.visit(Environment.java:324)
	at freemarker.core.Environment.process(Environment.java:302)
	at freemarker.template.Template.process(Template.java:325)
	at org.keycloak.theme.FreeMarkerUtil.processTemplate(FreeMarkerUtil.java:61)
	at org.keycloak.forms.login.freemarker.FreeMarkerLoginFormsProvider.createResponse(FreeMarkerLoginFormsProvider.java:314)
	at org.keycloak.forms.login.freemarker.FreeMarkerLoginFormsProvider.createLogin(FreeMarkerLoginFormsProvider.java:431)
	at org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator.invalidUser(AbstractUsernameFormAuthenticator.java:58)
	at org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator.invalidUser(AbstractUsernameFormAuthenticator.java:87)
	at org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator.validateUserAndPassword(AbstractUsernameFormAuthenticator.java:141)
	at org.keycloak.authentication.authenticators.browser.UsernamePasswordForm.validateForm(UsernamePasswordForm.java:56)
	at org.keycloak.authentication.authenticators.browser.UsernamePasswordForm.action(UsernamePasswordForm.java:49)
	at org.keycloak.authentication.DefaultAuthenticationFlow.processAction(DefaultAuthenticationFlow.java:84)
	at org.keycloak.authentication.DefaultAuthenticationFlow.processAction(DefaultAuthenticationFlow.java:75)
	at org.keycloak.authentication.AuthenticationProcessor.authenticationAction(AuthenticationProcessor.java:756)
	at org.keycloak.services.resources.LoginActionsService.processFlow(LoginActionsService.java:359)
	at org.keycloak.services.resources.LoginActionsService.processAuthentication(LoginActionsService.java:341)
	at org.keycloak.services.resources.LoginActionsService.authenticateForm(LoginActionsService.java:386)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
	at org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:138)
	at org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:101)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:395)
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
	at org.keycloak.services.filters.KeycloakSessionServletFilter.doFilter(KeycloakSessionServletFilter.java:88)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
```
2016-05-26 08:40:35 +02:00
Marek Posolda 3db1d28a5a Merge pull request #2888 from mposolda/1.9.x
Admin events fixes and more tests
2016-05-25 23:50:47 +02:00
mposolda 8b771e5ce6 KEYCLOAK-3006 Fix admin event inconsistencies related to roles (points 1,3,4,15,16 from JIRA) 2016-05-25 22:44:32 +02:00
mposolda cdbe4e2423 KEYCLOAK-3006 Fix admin event inconsistencies (points 2,5-14 from JIRA) 2016-05-25 22:44:32 +02:00
Thomas Darimont a58595e210 KEYCLOAK-2947: Include group representation for GroupMembership changes in AdminEvents
We now include the full group representation in AdminEvents
for Group Membership changes.
This enables EventListener to propagate potential role / attribute
chnages based on the removal / addition of the group.
2016-05-25 22:44:32 +02:00
mposolda 84d543b232 KEYCLOAK-3003 Support for admin events in AuthenticationManagementResource 2016-05-25 22:44:32 +02:00
Stan Silvert 8fba58c7a7 KEYCLOAK-2912 Migrate events package to new testsuite 2016-05-25 15:52:49 -04:00
Stian Thorgersen 4f3764371a Merge pull request #2880 from stianst/KEYCLOAK-3034-1.9
KEYCLOAK-3034 NullPointerException when log in via Twitter
2016-05-25 13:44:03 +02:00
Stian Thorgersen 964fabb5f1 Merge pull request #2879 from stianst/KEYCLOAK-3021-1.9
KEYCLOAK-3021
2016-05-25 10:05:44 +02:00
Stian Thorgersen 5679946ff3 Merge pull request #2883 from stianst/1.9.x
KEYCLOAK-3029
2016-05-25 09:17:10 +02:00
Stian Thorgersen 13f1d742da KEYCLOAK-3029 2016-05-25 08:56:42 +02:00
Stian Thorgersen a9691844bc KEYCLOAK-3034 NullPointerException when log in via Twitter 2016-05-25 08:11:21 +02:00
Thomas Darimont 34f1e8b74b KEYCLOAK-3021: Add Realm Display Name to the label part of the otpauth URI.
Due to the  removal of the realm-displayname as a result of changes made for KEYCLOAK-2410
 the otpauth URI no longer included the realm display name as a hint for the user to which system an
 authenticator belongs to.

We now ensure that the realm display name is again part of the label component of the otpauth URI.
This enables a user to better distinguish between user accounts for different systems.
2016-05-25 07:29:55 +02:00
Stian Thorgersen 5da837abf7 Merge pull request #2876 from abstractj/KEYCLOAK-3023-1.9.x
OAuthRedirectUriTest.testLocalhost fails on wildfly
2016-05-25 07:25:27 +02:00
Stian Thorgersen acd9dc4b82 Merge pull request #2874 from vramik/KEYCLOAK-3024-1.9.x
KEYCLOAK-3024 support for smoke test - clean start domain mode
2016-05-25 07:24:16 +02:00
Stian Thorgersen e349f4734b Merge pull request #2860 from ssilvert/1.9.x-migrate-i18n
KEYCLOAK-2913 Migrate i18n package to new testsuite
2016-05-25 07:23:08 +02:00
Stian Thorgersen eb324d3516 Merge pull request #2877 from stianst/1.9.x
KEYCLOAK-3020 Fix migration docs
2016-05-25 06:51:23 +02:00
Stian Thorgersen 7a3a0469b4 KEYCLOAK-3020 Fix migration docs 2016-05-25 06:50:12 +02:00
Bruno Oliveira f3f2fb1ae1 OAuthRedirectUriTest.testLocalhost fails on wildfly 2016-05-24 07:28:08 -03:00
Stan Silvert d27beb5688 KEYCLOAK-2913 Switch to use xpath for finding links instead of adding an
id.
2016-05-23 09:19:18 -04:00
Stian Thorgersen 4db7e8b964 Merge pull request #2872 from stianst/KEYCLOAK-3008-1.9
KEYCLOAK-3008 Upload Realm Keys doesn't work
2016-05-23 14:01:24 +02:00
Stian Thorgersen 7a365329c9 Merge pull request #2868 from stianst/KEYCLOAK-3020-1.9
KEYCLOAK-3020
2016-05-23 13:59:15 +02:00
Vlasta Ramik 6f9c46488b support for smoke test - clean start domain mode 2016-05-23 13:17:20 +02:00
Stian Thorgersen 06ab9c9dcf Merge pull request #2870 from stianst/KEYCLOAK-2851-1.9
KEYCLOAK-2851 InitialAccessTokenTest#createExpired fails occasionally
2016-05-23 12:04:26 +02:00
Stian Thorgersen 429bae62ec Merge pull request #2849 from wyvie/1.9.x
KEYCLOAK-3000: fixed the saml brokering tests - 1.9.x
2016-05-23 11:23:13 +02:00
Stian Thorgersen 8024f71799 KEYCLOAK-3020
Increase default password hashing intervals to 20K
2016-05-23 11:21:01 +02:00
Stian Thorgersen 2a9548d27b KEYCLOAK-3008 Upload Realm Keys doesn't work 2016-05-23 10:34:54 +02:00
Stian Thorgersen 8f11d08aa2 KEYCLOAK-2851 InitialAccessTokenTest#createExpired fails occasionally 2016-05-23 09:33:58 +02:00
Stian Thorgersen 1085a4c9f6 Merge pull request #2863 from mhajas/fixOfflineServlets-1.9.x
KEYCLOAK-3025 Fix offline servlet adapter tests and refactoring
2016-05-23 08:41:40 +02:00
Stian Thorgersen 05b2fbb6da Merge pull request #2861 from mhajas/fixSSLOnWildfly
KEYCLOAK-3022 Fix ssl adapter tests on wildfly
2016-05-23 08:40:10 +02:00
Stian Thorgersen d263f0af51 Merge pull request #2857 from vmuzikar/KEYCLOAK-3013-1.9.x
KEYCLOAK-3013 Fix Upload Keystore tests in ClientAuthSignedJWTTest
2016-05-23 08:37:17 +02:00
mhajas bf18c88655 Fix offline servlets and refactoring 2016-05-20 15:00:34 +02:00
mhajas 1747368f2f Fix ssl adapter tests on wildfly 2016-05-20 14:40:03 +02:00
Stan Silvert 04860906e7 KEYCLOAK-2913 Migrate i18n package to new testsuite 2016-05-20 08:25:47 -04:00
Vaclav Muzikar 27b9a880b0 KEYCLOAK-3013 Fix Upload Keystore tests in ClientAuthSignedJWTTest 2016-05-20 10:25:52 +02:00
Stian Thorgersen 9b47a4d1c5 Merge pull request #2848 from raehalme/KEYCLOAK-3016
KEYCLOAK-3016: BasicAuthRequestAuthenticator consumes HttpEntity on errors
2016-05-20 09:14:30 +02:00
Stian Thorgersen 0cac57c64e Merge pull request #2854 from abstractj/OAuthRedirectUriTest-1.9.x
OAuthRedirectUriTest migration
2016-05-20 09:13:03 +02:00
Stian Thorgersen 574e306271 Merge pull request #2847 from ssilvert/1.9.x-migrate-composites
KEYCLOAK-2911 Migrate composites package to new testsuite.
2016-05-20 09:12:32 +02:00
Stian Thorgersen 88d65409aa Merge pull request #2845 from vmuzikar/KEYCLOAK-3011-1.9.x
KEYCLOAK-3011 Fix WelcomePageTest
2016-05-20 09:10:48 +02:00
Stian Thorgersen cc29c9c6ad Merge pull request #2842 from vramik/KEYCLOAK-3010-1.9.x
KEYCLOAK-3010 Add support for smoke test - clean start - standalone mode
2016-05-20 09:07:11 +02:00
Stian Thorgersen 51d3dd2ee0 Merge pull request #2839 from abstractj/KEYCLOAK-2908-1.9.x
KEYCLOAK-2908 - Migration of oidc package
2016-05-20 08:56:39 +02:00
Stian Thorgersen 78188c9865 Merge pull request #2834 from vmuzikar/1.9.x
KEYCLOAK-3004 Fix PKCS12 tests in ClientAuthSignedJWTTest
2016-05-20 08:55:12 +02:00
Stian Thorgersen d04eda276e Merge pull request #2835 from ssilvert/1.9.x-migrate-account
KEYCLOAK-2909 Migrate account package to new testsuite
2016-05-20 08:40:18 +02:00
wyvie 45fcf76db1 KEYCLOAK-3000: fixed the saml brokering tests 2016-05-19 14:31:55 +02:00
Bruno Oliveira e526a22ecb OAuthRedirectUriTest migration 2016-05-18 18:30:04 -03:00
Thomas Raehalme 52c3066fdc KEYCLOAK-3016: BasicAuthRequestAuthenticator now consumes HttpEntity also on errors. 2016-05-18 10:22:56 +03:00
Stan Silvert aab94084d4 KEYCLOAK-2911 Migrate composites package to new testsuite. 2016-05-17 10:29:45 -04:00
Vaclav Muzikar 5e7bdb1742 KEYCLOAK-3011 Fix WelcomePageTest 2016-05-17 14:34:19 +02:00
Vlasta Ramik 0e50bd24df Add support for smoke test - clean start - standalone mode 2016-05-17 13:46:48 +02:00
Bruno Oliveira 1d06fe5253 KEYCLOAK-2908 - Migration of oidc package 2016-05-14 00:51:21 -03:00
Marek Posolda 10e9cc43e3 Merge pull request #2830 from mposolda/1.9.x
KEYCLOAK-2881 Admin events testing
2016-05-13 13:43:44 +02:00
Stan Silvert 58a3d9efc9 KEYCLOAK-2909 Migrate account package to new testsuite 2016-05-13 07:38:12 -04:00
Vaclav Muzikar e152711aec KEYCLOAK-3004 Fix PKCS12 tests in ClientAuthSignedJWTTest
Use smaller keys to avoid illegal key size exception
2016-05-13 13:35:12 +02:00
mposolda 0533bd7e67 KEYCLOAK-2881 Admin events testing 2016-05-13 11:24:09 +02:00
Stian Thorgersen e72e20b6dd Merge pull request #2828 from stianst/1.9.x
Ignore KcSamlBrokerTest
2016-05-13 08:21:40 +02:00
Stian Thorgersen 3aa0a59609 Ignore KcSamlBrokerTest 2016-05-13 08:21:10 +02:00
Stian Thorgersen 5d6ae2583c Merge pull request #2827 from vmuzikar/1.9.x
KEYCLOAK-2995 Revert changes from KEYCLOAK-2989 in JWTClientCredentialsProvider
2016-05-13 07:50:21 +02:00
Stian Thorgersen 4de70b9110 Merge pull request #2824 from mstruk/KEYCLOAK-2993-b
KEYCLOAK-2993 Fix integration-arquillian tests failing with -Pauth-server-wildfly
2016-05-13 07:32:25 +02:00
Stian Thorgersen c0e2f01c45 Merge pull request #2822 from mstruk/KEYCLOAK-2863-b
KEYCLOAK-2863 ClientAttributeCertificateResource
2016-05-12 16:50:42 +02:00
Stian Thorgersen 9047314a1f Merge pull request #2817 from pdrozd/1.9.x
KEYCLOAK-2988 - Fix kerberos tests - able to run with Windows and RHIDM.
2016-05-12 16:43:40 +02:00
Vaclav Muzikar 11351692ac KEYCLOAK-2995 Revert changes from KEYCLOAK-2989 in JWTClientCredentialsProvider 2016-05-12 10:46:43 +02:00
Marko Strukelj a583c7d399 KEYCLOAK-2993 Fix integration-arquillian tests failing with -Pauth-server-wildfly 2016-05-12 09:43:44 +02:00
Stian Thorgersen 3aaecbf0de Merge pull request #2820 from vmuzikar/1.9.x
KEYCLOAK-2989 Extend ClientAuthSignedJWTTest
2016-05-12 06:42:18 +02:00
Marko Strukelj d921c133a7 KEYCLOAK-2863 ClientAttributeCertificateResource 2016-05-11 15:22:04 +02:00
Stian Thorgersen 5dc8e6b8b5 Merge pull request #2816 from abstractj/AuthorizationCodeTest-1.9.x
Migration of AuthorizationCodeTest
2016-05-11 14:09:31 +02:00
Bruno Oliveira 4f993eb1cc Migration of AuthorizationCodeTest 2016-05-11 06:22:44 -03:00
Stian Thorgersen cdea5829e3 Merge pull request #2814 from abstractj/OAuthGrantTest-1.9.x
OAuthGrantTest migration
2016-05-11 06:58:00 +02:00
Stian Thorgersen 4045c4c683 Merge pull request #2780 from wyvie/1.9.x
KEYCLOAK-2971: Added basic oidc broker testing to the new testsuite - 1.9.x
2016-05-11 06:57:32 +02:00
wyvie e85f065b6a KEYCLOAK-2990: added test for single logout to broker testing (new testsuite) 2016-05-10 15:20:38 +02:00
Vaclav Muzikar ce3319d9fa KEYCLOAK-2989 Extend ClientAuthSignedJWTTest 2016-05-10 13:33:25 +02:00
Pavel Drozd 6362aa8773 KEYCLOAK-2988 - Fix kerberos tests - able to run with Windows and RHIDM. 2016-05-10 11:26:26 +02:00
wyvie 8ef52b35c9 KEYCLOAK-2971: saml provider with signature in broker test 2016-05-10 11:07:58 +02:00
Bruno Oliveira fe8fd76d7c OAuthGrantTest migration 2016-05-09 11:04:52 -03:00
keycloak-bot 2f47d99c98 Set version to 1.9.5.Final-SNAPSHOT 2016-05-09 07:40:39 +00:00
keycloak-bot 5d80e21062 Set version to 1.9.4.Final 2016-05-09 06:29:52 +00:00
Stian Thorgersen 4494cd9ea9 Merge pull request #2811 from stianst/1.9.x
KEYCLOAK-2880 Refactor PermissionTest to not require Java8
2016-05-09 08:28:09 +02:00
Stian Thorgersen 4d3fbbaa32 KEYCLOAK-2880 Refactor PermissionTest to not require Java8 2016-05-09 07:25:39 +02:00
Marek Posolda bad3debfc3 Merge pull request #2808 from mposolda/1.9.x
KEYCLOAK-2862 AuthenticationManagementResource tests
2016-05-06 21:29:26 +02:00
mposolda b8d7c20cd6 KEYCLOAK-2862 AuthenticationManagementResource tests 2016-05-06 20:17:04 +02:00
Marek Posolda 8f28504a50 Merge pull request #2806 from vramik/KEYCLOAK-2936-1.9.x
KEYCLOAK-2936 add app.server.java.home to karaf arquillian.xsl to be able to run fu…
2016-05-06 20:06:27 +02:00
Stian Thorgersen 803ae2cdcd Merge pull request #2805 from stianst/1.9.x
Close admin client after test
2016-05-06 16:27:32 +02:00
wyvie 40d437af57 KEYCLOAK-2971: saml provider without signature in broker test 2016-05-06 16:05:38 +02:00
Vlasta Ramik cc4c2622a2 add app.server.java.home to karaf arquillian.xsl to be able to run fuse tests on jdk7, minor test fix 2016-05-06 15:09:25 +02:00
Stian Thorgersen 26c6b4b624 Close admin client after test 2016-05-06 15:01:15 +02:00
Stian Thorgersen d9fe19c438 Merge pull request #2787 from stianst/1.9.x
KEYCLOAK-2865 Extend coverage of client admin endpoints
2016-05-06 11:13:29 +02:00
Marek Posolda 4c612fbde3 Merge pull request #2769 from vramik/KEYCLOAK-2936-1.9.x
KEYCLOAK-2936 Add app server module and test module for testing fuse6.3, ...
2016-05-06 08:37:28 +02:00
Stian Thorgersen 5531fab517 KEYCLOAK-2865 Extend coverage of client admin endpoints 2016-05-06 08:09:10 +02:00
Marek Posolda c50564388a Merge pull request #2800 from mposolda/1.9.x
KEYCLOAK-2805 KEYCLOAK-2777 Fuse 6.3 support
2016-05-06 08:00:20 +02:00
Stian Thorgersen 16bb58e2c6 Merge pull request #2803 from dbarentine/1.9.x
KEYCLOAK-2973 Persist federated identity on token update
2016-05-06 07:07:44 +02:00
Stian Thorgersen 631ac7bcc9 Merge pull request #2799 from abstractj/OAuthDance-1.9.x
Migration of OAuthDanceClientSessionExtensionTest
2016-05-06 07:06:25 +02:00
Stian Thorgersen e0a0d58853 Merge pull request #2797 from abstractj/RefreshTokenTest-1.9.x
Refresh token test 1.9.x
2016-05-06 07:05:38 +02:00
Stian Thorgersen 73a060adbb Merge pull request #2795 from mstruk/KEYCLOAK-2869-b
KEYCLOAK-2869 IdentityProvidersResource/IdentityProviderResource
2016-05-06 07:04:02 +02:00
Stian Thorgersen 5e699682ae Merge pull request #2793 from ssilvert/1.9.x-migrate-forms
KEYCLOAK-2906 Migrate forms package to new testsuite
2016-05-06 07:00:13 +02:00
Stian Thorgersen 6474db1e3d Merge pull request #2790 from mhajas/SAML-stability-1.9.x
KEYCLOAK-2959 KEYCLOAK-2459 Refactor and improve stability of SAML adapter tests
2016-05-06 06:58:54 +02:00
Stian Thorgersen c7787136c8 Merge pull request #2788 from stianst/KEYCLOAK-2549-1.9
KEYCLOAK-2549 Re-create master admin client if master realm is overwr…
2016-05-06 06:58:16 +02:00
Dane Barentine c02b43685f KEYCLOAK-2973 Persist federated identity on token update 2016-05-05 14:53:12 -07:00
mposolda 47def9efb3 KEYCLOAK-2805 Minor changes - cleanup and docs 2016-05-05 23:16:16 +02:00
Paolo Antinori c789510534 KEYCLOAK-2777 - Examples Fuse. Correct Parent pom reference 2016-05-05 22:10:31 +02:00
Paolo Antinori 26fee3b1c0 KEYCLOAK-2777 - Added PathBasedKeycloakConfigResolver for OSGi + examples 2016-05-05 22:10:22 +02:00
Paolo Antinori bd14f818ab KEYCLOAK-2805 - Update docs for JBoss Fuse 6.3 2016-05-05 22:10:13 +02:00
Paolo Antinori 11d91f1305 KEYCLOAK-2805 - Moved cxf.version up to the main pom 2016-05-05 22:10:03 +02:00
Paolo Antinori 473f4a0a97 KEYCLOAK-2805 - Support for JBoss Fuse 6.3
Upgrade of CXF, Jetty and Pax-Web required to rewrite part of the integration.
2016-05-05 22:09:54 +02:00
Bruno Oliveira e448b92074 Migration of OAuthDanceClientSessionExtensionTest 2016-05-05 15:30:39 -03:00
Bruno Oliveira 00456139c4 Migration of RefreshTokenTest 2016-05-05 15:21:52 -03:00
Bruno Oliveira 3746407657 Replace by ClientManager and make the code less verbose 2016-05-05 15:21:38 -03:00
Marko Strukelj 31683ce776 KEYCLOAK-2869 IdentityProvidersResource/IdentityProviderResource 2016-05-05 17:30:20 +02:00
mhajas ea238834b6 Refactor and improve stability of SAML tests 2016-05-05 12:29:02 +02:00
Marek Posolda 8b9abf551d Merge pull request #2782 from mposolda/1.9.x
Easier MariaDB support in tests
2016-05-05 10:04:41 +02:00
Stian Thorgersen 972145a0dc KEYCLOAK-2549 Re-create master admin client if master realm is overwritten on import 2016-05-05 07:20:23 +02:00
Stian Thorgersen 070d6149d1 Merge pull request #2785 from abstractj/RHSSO-121_1.9.x
RHSSO-121: Offline Tokens
2016-05-05 06:36:03 +02:00
Bruno Oliveira b021a86330 RHSSO-121: Offline Tokens 2016-05-04 22:51:59 -03:00
Stan Silvert a729aaa3bc KEYCLOAK-2906 Migrate forms package to new testsuite 2016-05-04 19:20:03 -04:00
mposolda 820c615769 Easier MariaDB support in tests 2016-05-04 22:08:58 +02:00
wyvie b9142ac6ce KEYCLOAK-2971: Added basic oidc broker testing to the new testsuite 2016-05-04 17:53:37 +02:00
Stian Thorgersen 7dd1406f1b Merge pull request #2777 from stianst/1.9.x
KEYCLOAK-2880 Permissions tests for admin endpoints
2016-05-04 16:54:12 +02:00
Stian Thorgersen 095a08e208 Suppress log output from resteasy during tests 2016-05-04 13:57:40 +02:00
Stian Thorgersen d39669c00b KEYCLOAK-2880 Permissions tests for admin endpoints 2016-05-04 07:32:17 +02:00
Stian Thorgersen 31f0cc2e4b Merge pull request #2775 from mhajas/jsconsole-stability-1.9.x
KEYCLOAK-2916 Improve stability of JS-console
2016-05-04 06:35:06 +02:00
mhajas c8e0529d81 Improve stability of JS-console tests 2016-05-03 15:04:55 +02:00
keycloak-bot 6132f50d34 Set version to 1.9.4.Final-SNAPSHOT 2016-04-28 16:21:32 +00:00
keycloak-bot ea46bb0be3 Set version to 1.9.3.Final 2016-04-28 15:14:56 +00:00
Vlasta Ramik 5ba8191ff2 Add app server module and test module for testing fuse6.3, rename feature in fuse6.2 tests 2016-04-28 14:48:57 +02:00
Stian Thorgersen 7b988d267b Merge pull request #2764 from stianst/1.9.x
KEYCLOAK-2932 KEYCLOAK-2934
2016-04-28 13:50:40 +02:00
Stian Thorgersen 99372d2534 Merge pull request #2762 from mposolda/1.9.x
KEYCLOAK-2903 Document proxy-address-forwarding with reverse proxy/lo…
2016-04-28 13:11:10 +02:00
Stian Thorgersen 508bddc70a KEYCLOAK-2932 KEYCLOAK-2934 2016-04-28 13:06:41 +02:00
Stian Thorgersen 56d95b5414 Merge pull request #2760 from stianst/1.9.x
KEYCLOAK-2933
2016-04-28 13:01:57 +02:00
mposolda 71b9420286 KEYCLOAK-2903 Document proxy-address-forwarding with reverse proxy/loadbalancer setup 2016-04-28 13:01:45 +02:00
Stian Thorgersen 024d64e0e0 KEYCLOAK-2933
RealmTest is failing on WildFly
2016-04-28 12:22:10 +02:00
Stian Thorgersen e719f1af96 Merge pull request #2758 from vramik/KEYCLOAK-2928-1.9.x
KEYCLOAK-2928 Enabled/edited CustomAuthFlowCookieTest
2016-04-28 11:17:56 +02:00
Vlasta Ramik 225aab1fed Enabled/edited CustomAuthFlowCookieTest 2016-04-28 10:22:02 +02:00
Stian Thorgersen fde9e6870f Merge pull request #2757 from stianst/KEYCLOAK-2924-1.9
KEYCLOAK-2924: Fire AdminEvents on user group membership changes.
2016-04-28 10:18:09 +02:00
Thomas Darimont 90a9465caf KEYCLOAK-2924: Fire AdminEvents on user group membership changes.
We now fire AdminEvents if a user joins or leaves a group.
This information can be used to deduce potential role changes
in custom event listeners.
2016-04-28 08:38:17 +02:00
Stian Thorgersen 37a61d79a6 Merge pull request #2754 from ssilvert/1.9.x-migrate-actions
KEYCLOAK-2905 Migrate actions package from old testsuite
2016-04-28 06:44:23 +02:00
Bill Burke cb2fce74a6 Merge pull request #2756 from patriot1burke/1.9.x
add bind addresses to domain template
2016-04-27 22:09:32 -04:00
Bill Burke aaad122cff add bind addresses to domain template 2016-04-27 22:03:13 -04:00
Stan Silvert 269a2e9ba9 KEYCLOAK-2905 Migrate actions package from old testsuite 2016-04-27 14:14:16 -04:00
Bill Burke d5b86bedd6 Merge pull request #2751 from patriot1burke/1.9.x
KEYCLOAK-2922 KEYCLOAK-2920
2016-04-27 11:37:15 -04:00
Bill Burke 790f0fe7f9 Merge pull request #2749 from stianst/1.9.x
KEYCLOAK-2927 Rename add-user script to add-user-keycloak
2016-04-27 11:05:20 -04:00
Bill Burke 8417144677 Merge remote-tracking branch 'remote19/1.9.x' into b_1_9 2016-04-27 10:25:04 -04:00
Bill Burke 277f90e8b0 KEYCLOAK-2922 KEYCLOAK-2920 2016-04-27 10:23:23 -04:00
Stian Thorgersen 9306dc2015 KEYCLOAK-2927 Rename add-user script to add-user-keycloak 2016-04-27 16:17:41 +02:00
Stian Thorgersen e979b96923 Merge pull request #2736 from mhajas/adapter-ssl-1.9.x
KEYCLOAK-2915 Fix adapter ssl tests on EAP/EAP6
2016-04-27 13:50:01 +02:00
Stian Thorgersen 5a362df491 Merge pull request #2735 from vramik/KEYCLOAK-2889-1.9.x
KEYCLOAK-2889 Fix adapter tests for Karaf/Fuse
2016-04-27 13:49:30 +02:00
Stian Thorgersen 1b611fef01 Merge pull request #2746 from stianst/KEYCLOAK-2871
KEYCLOAK-2871 Extend coverage on RealmAdminResource
2016-04-27 13:38:22 +02:00
Marek Posolda 2f7d415cba Merge pull request #2742 from mposolda/1.9.x-loadbalancer
KEYCLOAK-2903 Fix WelcomeResource to not allow requests forwarded fro…
2016-04-27 11:10:48 +02:00
Stian Thorgersen 5e992f6db9 KEYCLOAK-2871 Extend coverage on RealmAdminResource 2016-04-27 10:28:02 +02:00
Marek Posolda 844da0193a Merge pull request #2744 from mposolda/1.9.x
KEYCLOAK-2898 Fix GroupMappersTest on wildfly. Clearing AssertEvents …
2016-04-26 18:01:28 +02:00
mposolda d42b44ee13 KEYCLOAK-2898 Fix GroupMappersTest on wildfly. Clearing AssertEvents events queue before test instead of after 2016-04-26 16:08:10 +02:00
mposolda c3616ecb4d KEYCLOAK-2903 Fix WelcomeResource to not allow requests forwarded from proxy/loadbalancer 2016-04-26 12:01:42 +02:00
mhajas 3a7787b1d7 Fix adapter ssl tests on EAP/EAP6 2016-04-26 09:08:35 +02:00
Stian Thorgersen 47103a040f Merge pull request #2727 from abstractj/RHSSO-106-1.9.x
RHSSO-106: Migration of ResourceOwnerPasswordCredentialsGrantTest
2016-04-25 19:46:15 +02:00
Bruno Oliveira 568140de4a RHSSO-106: Migration of ResourceOwnerPasswordCredentialsGrantTest 2016-04-25 10:15:50 -03:00
Vlasta Ramik 6d2ade5f77 Fix adapter tests for Karaf/Fuse 2016-04-25 15:10:08 +02:00
Marek Posolda 40427a2200 Merge pull request #2733 from mposolda/1.9.x
KEYCLOAK-2900
2016-04-25 15:00:12 +02:00
Stian Thorgersen bb34cfb7d6 Merge pull request #2731 from abstractj/RHSSO-130-1.9.x
RHSSO-130: AccessTokenTest migration
2016-04-25 13:43:05 +02:00
Stian Thorgersen 3fd840515b Merge pull request #2712 from ssilvert/1.9.x-migrate-LoginTest
Migrate LoginTest
2016-04-25 13:40:56 +02:00
mposolda 604a757665 KEYCLOAK-2900 2016-04-25 11:18:56 +02:00
Marek Posolda 107a3f4f11 Merge pull request #2729 from mstruk/KEYCLOAK-2899-b
KEYCLOAK-2899 Tests fail with -Pauth-server-wildfly due to missing logging dependecy
2016-04-22 21:37:54 +02:00
Bruno Oliveira f6fe53a44c RHSSO-130: AccessTokenTest migration 2016-04-22 16:32:50 -03:00
Marko Strukelj 7281c2d8ae KEYCLOAK-2899 Tests fail with -Pauth-server-wildfly due to missing logging dependecy 2016-04-22 19:50:40 +02:00
Marek Posolda bb8bc7f976 Merge pull request #2723 from mstruk/KEYCLOAK-2893-b
KEYCLOAK-2893 Fix TokenIntrospectionTest
2016-04-22 15:16:13 +02:00
Marek Posolda b4ae814567 Merge pull request #2719 from abstractj/RHSSO-108-client-auth-signed-1.9.x
Rhsso 108 client auth signed 1.9.x
2016-04-22 15:07:07 +02:00
Marek Posolda b482396af9 Merge pull request #2720 from mposolda/1.9.x
EYCLOAK
2016-04-22 15:00:49 +02:00
Marko Strukelj 9d9bf3c39b KEYCLOAK-2893 Fix TokenIntrospectionTest 2016-04-22 14:20:53 +02:00
mposolda 01fece902c KEYCLOAK-2878 Added UserFederationLdapConnectionTest 2016-04-22 13:46:58 +02:00
mposolda 663a145bd7 KEYCLOAK-2878 UserFederation mapper testing 2016-04-22 13:46:58 +02:00
Marek Posolda 2417e49f9c Merge pull request #2717 from mstruk/KEYCLOAK-2893-b
KEYCLOAK-2893 Fix TokenIntrospectionTest
2016-04-22 13:42:51 +02:00
Bruno Oliveira b053ce70f9 Inclusion of try/finally suggested by Stian 2016-04-22 08:30:15 -03:00
Bruno Oliveira a6f4588ef2 RHSSO-108: Migration of ClientAuthSignedJWTTest 2016-04-22 08:30:12 -03:00
Marko Strukelj 025df56796 KEYCLOAK-2893 Fix TokenIntrospectionTest 2016-04-22 11:19:54 +02:00
Marek Posolda f75f14141c Merge pull request #2714 from mposolda/1.9.x
UserFederation admin testing
2016-04-22 00:43:32 +02:00
mposolda f966d53f9e Simplified calling of AuthenticationManagementResource.getExecutions() 2016-04-21 22:54:27 +02:00
mposolda 2c25fd3c08 KEYCLOAK-2878 Testing of UserFederation admin REST endpoints 2016-04-21 22:54:17 +02:00
Stan Silvert e671d4429b Migrate LoginTest 2016-04-21 09:43:19 -04:00
Stian Thorgersen 95cf7bdeea Merge pull request #2708 from stianst/KEYCLOAK-2866-1.9
KEYCLOAK-2866 KEYCLOAK-2874 Test role mapping resource
2016-04-21 14:58:13 +02:00
Stian Thorgersen 7f96e0438e KEYCLOAK-2866 KEYCLOAK-2874 Test role mapping resource 2016-04-21 14:22:25 +02:00
Stian Thorgersen 82006f812a Merge pull request #2706 from stianst/KEYCLOAK-2868-1.9
KEYCLOAK-2868 Extend coverage of GroupResource tests
2016-04-21 13:38:16 +02:00
Stian Thorgersen 951fb095fc Merge pull request #2703 from stianst/KEYCLOAK-2838-1.9
KEYCLOAK-2838: Add cookie storage fallback to keycloak.js
2016-04-21 13:37:48 +02:00
Stian Thorgersen 06c1f0a7e9 KEYCLOAK-2868 Extend coverage of GroupResource tests 2016-04-21 11:52:04 +02:00
Stian Thorgersen 4445989f85 Merge pull request #2702 from stianst/KEYCLOAK-2873-1.9
KEYCLOAK-2873 / KEYCLOAK-2875 Test RoleContainerResource
2016-04-21 11:47:46 +02:00
Maximilian Szengel c1156bb053 KEYCLOAK-2838: Add cookie storage fallback to keycloak.js 2016-04-21 11:10:18 +02:00
Stian Thorgersen fc1a7908d6 KEYCLOAK-2873 / KEYCLOAK-2875 Test RoleContainerResource 2016-04-21 10:59:45 +02:00
Stian Thorgersen 70d427acea Merge pull request #2699 from stianst/KEYCLOAK-2864-1.9
KEYCLOAK-2864 Test InitialAccessTokenResource
2016-04-21 10:27:13 +02:00
Stian Thorgersen d299ae9af5 KEYCLOAK-2864 Test InitialAccessTokenResource 2016-04-21 09:44:59 +02:00
Stian Thorgersen f79d7a65fd Merge pull request #2698 from stianst/KEYCLOAK-2872-1.9
KEYCLOAK-2872 Test RoleByIdResource
2016-04-21 09:31:45 +02:00
Stian Thorgersen cff654b784 KEYCLOAK-2872 Test RoleByIdResource 2016-04-21 07:10:25 +02:00
Stian Thorgersen bdbd765e7e Merge pull request #2693 from abstractj/RHSSO-108-1.9.x
RHSSO-108: Client signed token authentication
2016-04-21 06:19:20 +02:00
Stian Thorgersen 61bb2ee660 Merge pull request #2695 from stianst/1.9.x
Ignore failing CustomAuthFlowCookieTest
2016-04-21 06:07:20 +02:00
Stian Thorgersen 2472eef714 Ignore failing CustomAuthFlowCookieTest 2016-04-21 06:06:14 +02:00
Bruno Oliveira 51c87609ae RHSSO-108: Client signed token authentication 2016-04-20 20:47:09 -03:00
Stian Thorgersen 33c8ced3e9 Merge pull request #2691 from stianst/role-assertevents-1.9
Made AssertEvents work with @Rule
2016-04-20 21:44:42 +02:00
Stian Thorgersen 94f1e43be7 Merge pull request #2692 from stianst/KEYCLOAK-2835-1.9
[KEYCLOAK-2835] - Adding SOAP binding to the list of supported Single…
2016-04-20 20:16:26 +02:00
Pedro Igor 13e09d2341 [KEYCLOAK-2835] - Adding SOAP binding to the list of supported SingleSignOnService. 2016-04-20 20:15:30 +02:00
Stian Thorgersen d3fc34752e Made AssertEvents work with @Rule 2016-04-20 20:11:02 +02:00
Stian Thorgersen f8ddecdf2f Merge pull request #2689 from ssilvert/1.9.x
Rename oauthClient to oauth in AbstractKeycloakTst
2016-04-20 19:41:00 +02:00
Stian Thorgersen 53a7025784 Merge pull request #2686 from mposolda/1.9.x
KEYCLOAK-2842 Not possible to add new execution under registration flow
2016-04-20 19:40:41 +02:00
Stian Thorgersen 4f07522953 Merge pull request #2685 from mstruk/assert-events-refactor-b
KEYCLOAK-2755 Refactor testsuite events provider
2016-04-20 19:37:01 +02:00
Stian Thorgersen ad0c9adc03 Merge pull request #2682 from stianst/KEYCLOAK-2861
KEYCLOAK-2861 Test AttackDetectionResource
2016-04-20 19:36:08 +02:00
Stan Silvert 16390ee4b6 Rename oauthClient to oauth in AbstractKeycloakTst 2016-04-20 12:40:10 -04:00
mposolda ec8eee02fe KEYCLOAK-2842 Not possible to add new execution under registration flow 2016-04-20 18:36:35 +02:00
Marko Strukelj db85f77b00 KEYCLOAK-2755 Refactor testsuite events provider 2016-04-20 16:46:42 +02:00
Stian Thorgersen 433fe5944c KEYCLOAK-2861 Test AttackDetectionResource 2016-04-20 16:20:38 +02:00
Stian Thorgersen fb476e5022 Merge pull request #2681 from stianst/KEYCLOAK-2850-1.9
Moved admin tests from endpoint package back to admin package
2016-04-20 15:35:52 +02:00
Stian Thorgersen 29113b9398 Moved admin tests from endpoint package back to admin package 2016-04-20 14:57:15 +02:00
Stian Thorgersen fc0c8e898d Merge pull request #2678 from stianst/KEYCLOAK-2850-1.9
KEYCLOAK-2850 Migrated ImpersonationTest and added builders
2016-04-20 14:48:07 +02:00
Marek Posolda fca9122052 Merge pull request #2676 from mposolda/1.9.x
Client template fixes
2016-04-20 14:13:51 +02:00
Stian Thorgersen f1e5cbf8fc KEYCLOAK-2850 Migrated ImpersonationTest and added builders 2016-04-20 13:52:32 +02:00
mposolda 2a6b25b840 KEYCLOAK-2846 export/import of clientTemplate scopes 2016-04-20 13:22:40 +02:00
mposolda 1c9f4cfb5c KEYCLOAK-2844 Unexpected error when trying to remove clientTemplate in use 2016-04-20 13:20:48 +02:00
Stian Thorgersen 4c7c2a4cd3 Merge pull request #2674 from stianst/1.9.x
KEYCLOAK-2850 Migrated ConcurrencyTest
2016-04-20 12:50:06 +02:00
Stian Thorgersen 110c142a53 Merge pull request #2672 from stianst/KEYCLOAK-2491-1.9
KEYCLOAK-2491 Fix permissions in admin console to match permissions i…
2016-04-20 12:49:31 +02:00
Stian Thorgersen 8c8f2019e9 KEYCLOAK-2850 Migrated ConcurrencyTest 2016-04-20 10:07:49 +02:00
Stian Thorgersen e5557e0cde KEYCLOAK-2491 Fix permissions in admin console to match permissions in admin endpoints 2016-04-20 09:57:31 +02:00
Marek Posolda f4f7488d8a Merge pull request #2669 from mposolda/1.9.x
KEYCLOAK-2850 Migrate RealmTest from old testsuite to new
2016-04-20 09:33:50 +02:00
Stian Thorgersen 7ea27e7c28 Merge pull request #2668 from stianst/KEYCLOAK-2832-1.9
KEYCLOAK-2832
2016-04-20 09:10:51 +02:00
mposolda b14b384777 Remove AbstractAdminTest.assertNames and related methods (as they are available in Assert class) 2016-04-20 08:04:40 +02:00
mposolda 7c284dc843 KEYCLOAK-2850 migrate RealmTest from old testsuite to new 2016-04-20 08:04:40 +02:00
Stian Thorgersen 320e81f11b KEYCLOAK-2832
Authentication failure logs at ERROR level
2016-04-20 07:32:33 +02:00
Stian Thorgersen 350f45ef76 Merge pull request #2650 from mhajas/truststore.1.9.x
KEYCLOAK-2841 Trustore support in adapter tests
2016-04-20 06:56:58 +02:00
Stian Thorgersen 20f7b444bb Merge pull request #2665 from stianst/1.9.x
Migrate pages from old testsuite, make OAuthClient injectable
2016-04-19 22:08:50 +02:00
Stian Thorgersen 3da4b3a6d3 Removed duplicated ClientInitialAccessTest 2016-04-19 20:34:47 +02:00
Stian Thorgersen 37a9f88983 Merge pull request #2663 from vmuzikar/1.9.x
KEYCLOAK-2854 Fix Client Settings Console UI test
2016-04-19 20:32:06 +02:00
Stian Thorgersen d4c82dbd72 Merge pull request #2660 from abstractj/apiutil-removal-1.9.x
Removal of duplicated API Util
2016-04-19 20:31:10 +02:00
Stian Thorgersen 85e2b5eea0 Merge pull request #2647 from tkyjovsk/performance-tests-1.9.x
Added module 'adapters/jboss/remote' with performance tests. 1.9.x
2016-04-19 20:30:23 +02:00
Stian Thorgersen e6cf4afc29 Migrate pages from old testsuite, make OAuthClient injectable 2016-04-19 20:18:09 +02:00
Vaclav Muzikar 26ba12962c KEYCLOAK-2854 Fix Client Settings Console UI test 2016-04-19 18:04:57 +02:00
Marek Posolda e963344f87 Merge pull request #2657 from stianst/KEYCLOAK-2850-1.9
KEYCLOAK-2850 Migrate admin endpoint identity provider test
2016-04-19 16:24:49 +02:00
Bruno Oliveira daf8658568 Removal of duplicated API Util 2016-04-19 10:22:26 -03:00
Marek Posolda 38394a6949 Merge pull request #2655 from mposolda/1.9.x
KEYCLOAK-2849 Admin endpoint tests for client templates
2016-04-19 15:22:14 +02:00
mposolda af34927930 KEYCLOAK-2849 Admin endpoint tests for client templates 2016-04-19 14:36:30 +02:00
Stian Thorgersen fe4fbfca30 KEYCLOAK-2850 Migrate admin endpoint identity provider test 2016-04-19 14:27:53 +02:00
Stian Thorgersen 28de85f8f9 Merge pull request #2653 from stianst/KEYCLOAK-2828-1.9.x
KEYCLOAK-2828
2016-04-19 13:44:12 +02:00
Stian Thorgersen 91817ea333 KEYCLOAK-2828 Refactor contribution and add tests 2016-04-19 13:09:35 +02:00
Thomas Raehalme c285fc1cf7 KEYCLOAK-2828: LoginStatusIframeEndpoint now sets the P3P header.
IE requires a P3P header to be present in <iframe /> response. Otherwise
cookies are forbidden. The value of the header does not seem to matter.
2016-04-19 10:27:17 +02:00
Marek Posolda 45173f4063 Merge pull request #2648 from pdrozd/1.9.x
KEYCLOAK-2839 - kerberos tests migration.
2016-04-18 20:05:33 +02:00
mhajas c4271b30e9 Trustore support in adapter tests + fix tests 2016-04-18 16:12:58 +02:00
Tomas Kyjovsky c7205fa43d Updated version fo adapters/jboss/remote/pom.xml to 1.9.3-Final-SNAPSHOT. 2016-04-18 14:27:14 +02:00
Pavel Drozd 5ac65413f2 KEYCLOAK-2839 - kerberos tests migration. 2016-04-18 14:27:12 +02:00
Tomas Kyjovsky 848c234e06 Added module 'adapters/jboss/remote' with performance tests. 2016-04-18 14:25:13 +02:00
Stian Thorgersen 1b987ff2a5 Merge pull request #2636 from ssilvert/1.9.x-migrate-oauth-client-2
KEYCLOAK-2743: Port OAuthClient to new testsuite
2016-04-18 07:35:09 +02:00
Bill Burke 8c0c80f6af Merge pull request #2645 from patriot1burke/1.9.x
KEYCLOAK-2740
2016-04-15 17:29:46 -04:00
Bill Burke 8d3d80e603 KEYCLOAK-2740 2016-04-15 16:48:38 -04:00
Bill Burke 3df22af3f0 Merge pull request #2606 from vramik/KEYCLOAK-2757-1.9.x
KEYCLOAK-2757 Add tests to cover custom auth flows
2016-04-15 16:27:56 -04:00
Bill Burke 199198ecb5 Merge pull request #2642 from patriot1burke/1.9.x
KEYCLOAK-2584
2016-04-15 16:27:34 -04:00
Bill Burke 6180132486 KEYCLOAK-2584 2016-04-15 15:14:43 -04:00
Bill Burke 7731e74c38 KEYCLOAK-2584 2016-04-15 15:09:42 -04:00
Stan Silvert 15f75a36b5 Move test under 'endpoint' package. 2016-04-15 08:12:58 -04:00
Stan Silvert 37eddc23fd Create TestRealmKeycloakTest as common base class for tests that need
testrealm.json.  Rename admin packaget to endpoint.  Rename legacy package
to match old testsuite.
test suite.
2016-04-15 08:12:22 -04:00
Stan Silvert 7099dc3e51 KEYCLOAK-2743: Port OAuthClient to new testsuite 2016-04-15 08:11:54 -04:00
keycloak-bot cf1c7a319a Set version to 1.9.3.Final-SNAPSHOT 2016-04-14 14:07:48 +00:00
keycloak-bot eb68ef47b1 Set version to 1.9.2.Final 2016-04-14 13:33:01 +00:00
Stian Thorgersen 7f7fb23f32 Merge pull request #2633 from stianst/1.9.x
KEYCLOAK-2825 KEYCLOAK-2826 Remove private for org.keycloak.keycloak-…
2016-04-14 15:30:10 +02:00
Stian Thorgersen 846bc2ca35 KEYCLOAK-2827 ModuleLoadError: org.keycloak.keycloak-core-public:main 2016-04-14 15:21:58 +02:00
Stian Thorgersen ed77589a43 KEYCLOAK-2825 KEYCLOAK-2826 Remove private for org.keycloak.keycloak-adapter-core and org.keycloak.keycloak-adapter-spi modules 2016-04-14 14:40:05 +02:00
Marek Posolda 6ab94ce4e8 Merge pull request #2629 from mposolda/1.9.x
KEYCLOAK-2823 Password policy 'hashAlgorithm' value not correctly sho…
2016-04-14 13:56:06 +02:00
mposolda a5179907ad KEYCLOAK-2823 Password policy 'hashAlgorithm' value not correctly shown in admin console 2016-04-14 13:15:23 +02:00
Marek Posolda 77bbf2afb5 Merge pull request #2626 from mposolda/1.9.x
Migration and mongo fix
2016-04-14 11:48:13 +02:00
mposolda 85b95c5432 KEYCLOAK-2820 Mongo doesn't start on wildfly 2016-04-14 10:41:31 +02:00
mposolda 613a26cd1c KEYCLOAK-2819 Fix realm security header setup after migration 2016-04-14 10:22:14 +02:00
Stian Thorgersen 18cc0fdaf3 Merge pull request #2625 from stianst/1.9.x
KEYCLOAK-2818
2016-04-14 09:14:33 +02:00
Stian Thorgersen 39c0dfeb8f KEYCLOAK-2818
Fix poms not updated by versions plugin
2016-04-14 08:17:05 +02:00
Stian Thorgersen 524ae68224 Fix to cors-example-fix 2016-04-14 07:10:50 +02:00
Bruno Oliveira e63726d51c Fix the broken logout URL 2016-04-14 07:10:33 +02:00
Bruno Oliveira 29c839602f Make the client URL match exactly the same configured at the realm 2016-04-14 07:10:33 +02:00
Stian Thorgersen 1e20cad2ae Merge pull request #2616 from abstractj/minor-fix
There's no such profile for this example
2016-04-14 07:02:47 +02:00
Stian Thorgersen 7feeca8273 Merge pull request #2615 from abstractj/cordova
inappbrowser plugin returns 404 with the current namespace
2016-04-14 06:59:54 +02:00
Bill Burke 9c8d9ceb28 Merge pull request #2622 from patriot1burke/1.9.x
merge adapter-spi and adapter-spi-public
2016-04-13 22:52:22 -04:00
Bill Burke 07a7035398 merge adapter-spi and adapter-spi-public 2016-04-13 22:18:26 -04:00
Stian Thorgersen 6c2f8a8f65 Merge pull request #2612 from abstractj/angular2-example
Example points to wrong KC version
2016-04-13 19:35:06 +02:00
Bruno Oliveira d1bf3c3be6 There's no such profile for this example 2016-04-13 14:10:22 -03:00
Bruno Oliveira edef864ffc inappbrowser plugin returns 404 with the current namespace 2016-04-13 14:05:45 -03:00
Marek Posolda 3effc265c4 Merge pull request #2610 from mposolda/1.9.x
KEYCLOAK-2812 Make testsuite-arquillian working with -Pauth-server-wi…
2016-04-13 16:41:22 +02:00
Bruno Oliveira 41775bf8ef Example points to wrong KC version 2016-04-13 11:07:48 -03:00
mposolda 6c2464e399 KEYCLOAK-2812 Make testsuite-arquillian working with -Pauth-server-wildfly 2016-04-13 16:04:20 +02:00
Marek Posolda 17a7d04de9 Merge pull request #2609 from mposolda/1.9.x
KEYCLOAK-2811 FederationProvidersIntegrationTest.testReadOnly failing…
2016-04-13 13:50:07 +02:00
mposolda b630c5b447 KEYCLOAK-2811 FederationProvidersIntegrationTest.testReadOnly failing on MSAD 2016-04-13 12:40:10 +02:00
Marek Posolda ab69b98766 Merge pull request #2605 from mposolda/1.9.x
KEYCLOAK-2809 NPE when removing role, which is in scope of some Clien…
2016-04-13 12:39:07 +02:00
Vlasta Ramik 41ac0f3b04 Add tests to cover custom auth flows 2016-04-13 12:08:03 +02:00
Stian Thorgersen d78450137e Merge pull request #2603 from stianst/KEYCLOAK-2810-1.9
KEYCLOAK-2810 Added robots.txt and robots meta header
2016-04-13 11:58:23 +02:00
mposolda 1e47e28f20 KEYCLOAK-2809 NPE when removing role, which is in scope of some ClientTemplate 2016-04-13 11:48:04 +02:00
Stian Thorgersen 80a8961878 KEYCLOAK-2810 Added robots.txt and robots meta header 2016-04-13 11:24:19 +02:00
Marek Posolda 95d555ef39 Merge pull request #2598 from mposolda/1.9.x
Fix testsuite with Mongo
2016-04-13 11:06:49 +02:00
Stian Thorgersen 1a8f56f3d1 Merge pull request #2601 from stianst/KEYCLOAK-2804-1.9
KEYCLOAK-2804 Prevent browser from prefilling username/password into …
2016-04-13 10:39:48 +02:00
Stian Thorgersen 4e1059740a KEYCLOAK-2804 Prevent browser from prefilling username/password into non-login form 2016-04-13 10:01:44 +02:00
mposolda 7e225d60fd Fix testsuite with Mongo 2016-04-13 09:54:36 +02:00
Bill Burke b55449b739 Merge pull request #2597 from patriot1burke/1.9.x
KEYCLOAK-2790
2016-04-12 19:45:22 -04:00
Bill Burke 5b298cf43c KEYCLOAK-2790 2016-04-12 18:25:01 -04:00
Bill Burke b56fe48277 Merge pull request #2586 from mhajas/secureDeployment-1.9.x-PR
KEYCLOAK-2199 Add tests for secure deployment
2016-04-12 17:53:34 -04:00
Bill Burke 4c438de595 Merge pull request #2568 from cpitman/proxy-headers-1.9
KEYCLOAK-2791 - Proxy handling for X-Forwarded headers
2016-04-12 17:53:07 -04:00
Bill Burke ea006f1d77 Merge pull request #2588 from vramik/KEYCLOAK-2794-1.9.x
KEYCLOAK-2794 Change undertow-embedded version
2016-04-12 17:52:39 -04:00
Bill Burke cb4e0a9e75 Merge pull request #2595 from patriot1burke/1.9.x
public private api
2016-04-12 17:51:49 -04:00
Bill Burke 7df32ba4cd public/private fixes 2016-04-12 15:19:31 -04:00
Bill Burke 89098b3726 Merge remote-tracking branch 'remote19/1.9.x' into b_1_9 2016-04-12 12:10:04 -04:00
Bill Burke 9e45c2ac4d public/private modules 2016-04-12 12:09:46 -04:00
Stian Thorgersen d4f8f833a2 Merge pull request #2592 from stianst/KEYCLOAK-2807-1.9
KEYCLOAK-2807 Fix server info providers page
2016-04-12 16:18:20 +02:00
Stian Thorgersen e159254cd2 KEYCLOAK-2807 Fix server info providers page 2016-04-12 15:40:22 +02:00
Stian Thorgersen ee090149b9 Merge pull request #2590 from stianst/KEYCLOAK-2799-1.9
KEYCLOAK-2799 Show error for identity brokering login if user is disa…
2016-04-12 14:11:21 +02:00
Stian Thorgersen a22c8c1d8e KEYCLOAK-2799 Show error for identity brokering login if user is disabled 2016-04-12 13:15:21 +02:00
Stian Thorgersen 83ff45ce04 Merge pull request #2584 from stianst/KEYCLOAK-2803-1.9
KEYCLOAK-2803 Fix failure to add execution to client flow
2016-04-12 13:05:07 +02:00
Vlasta Ramik 815e650448 Change undertow-embedded version from snapshot to released version 1.0.0.Alpha2 2016-04-12 09:48:20 +02:00
mhajas 777bdc908f Add tests for secure deployment 2016-04-12 09:16:28 +02:00
Stian Thorgersen 45231b69a7 KEYCLOAK-2803 Fix failure to add execution to client flow 2016-04-12 08:04:54 +02:00
Stian Thorgersen b01f522ace Merge pull request #2582 from stianst/KEYCLOAK-2770-1.9
KEYCLOAK-2770 Close mail transport after sending message
2016-04-12 07:43:58 +02:00
Stian Thorgersen e840766b1f Merge pull request #2571 from pdrozd/1.9.x
KEYCLOAK-2794 - changed version of undertow-embedded.
2016-04-12 07:42:10 +02:00
Stian Thorgersen 4298916013 Merge pull request #2574 from stianst/KEYCLOAK-2700-1.9
KEYCLOAK-2700 Import existing realm fails due to can't delete group
2016-04-12 07:20:03 +02:00
Stian Thorgersen 788bdfb29b KEYCLOAK-2770 Close mail transport after sending message 2016-04-12 07:07:53 +02:00
Marek Posolda 3ec8672a75 Merge pull request #2580 from mposolda/1.9.x
Identity brokering error handling fixes
2016-04-12 00:08:55 +02:00
mposolda fc95067193 KEYCLOAK-2802 NPE during identity broker cancelled from account mgmt 2016-04-11 23:28:59 +02:00
mposolda d14867f785 KEYCLOAK-2801 Redirected to login theme error page after failed social linking from account management 2016-04-11 22:51:05 +02:00
Marek Posolda ffe483ae2d Merge pull request #2578 from mposolda/1.9.x
KEYCLOAK-2769 Better error handling of expired code in IdentityBroker…
2016-04-11 18:56:32 +02:00
mposolda dc2d71489d KEYCLOAK-2769 Better error handling of expired code in IdentityBrokerService 2016-04-11 18:08:10 +02:00
Marek Posolda 42402ee6f4 Merge pull request #2576 from mposolda/1.9.x
KEYCLOAK-2795 Testsuite fails sometimes with NPE in LockServiceFactor…
2016-04-11 10:50:59 +02:00
mposolda f4f95cd096 KEYCLOAK-2795 Testsuite fails sometimes with NPE in LockServiceFactory.getLockService 2016-04-11 10:08:26 +02:00
Stian Thorgersen dafea0cad6 KEYCLOAK-2700 Import existing realm fails due to can't delete group 2016-04-11 09:19:20 +02:00
Stian Thorgersen b5fe63af22 Merge pull request #2570 from stianst/KEYCLOAK-2766-1.9
KEYCLOAK-2766 Add missing id to AuthenticatorConfigRepresentation
2016-04-11 08:35:34 +02:00
Pavel Drozd a48ace4d70 KEYCLOAK-2794 - changed version of undertow-embedded. 2016-04-11 08:34:54 +02:00
Stian Thorgersen 5440688dd9 KEYCLOAK-2766 Add missing id to AuthenticatorConfigRepresentation 2016-04-11 07:43:45 +02:00
Stian Thorgersen b21b548b9c Merge pull request #2560 from vramik/KEYCLOAK-2783
KEYCLOAK-2783 added nexus-staging-maven-plugin
2016-04-11 07:14:50 +02:00
Stian Thorgersen fe44483e60 Merge pull request #2563 from guusdk/1.9.x
KEYCLOAK-2785: Admin client should be able to delete a user.
2016-04-11 07:14:13 +02:00
Stian Thorgersen 12be32f6dc Merge pull request #2559 from mhajas/js-console-stability-1.9.x-PR
KEYCLOAK-2780 Better stability in JSConsole test
2016-04-11 07:12:27 +02:00
Stian Thorgersen 524080b0ae Merge pull request #2557 from mhajas/secure-portal-1.9.x-PR
KEYCLOAK-2779 Fix DemoServletAdpater tests
2016-04-11 07:10:57 +02:00
Stian Thorgersen d8dfc1ca0b Merge pull request #2555 from mhajas/eap6URLs-1.9.x-PR
KEYCLOAK-2778 Fix urls on eap6
2016-04-11 07:09:57 +02:00
Chris Pitman bee7c077b7 KEYCLOAK-2791 - Proxy handling for X-Forwarded headers 2016-04-09 02:22:15 -04:00
Marek Posolda a3abc0296d Merge pull request #2566 from mposolda/1.9.x
KEYCLOAK-2769 Fix NPE during 'Identity Broker cancelled' and instead …
2016-04-08 22:14:22 +02:00
mposolda 2d3580e2d4 KEYCLOAK-2769 Fix NPE during 'Identity Broker cancelled' and instead show keycloak 'we are sorry' page 2016-04-08 19:19:52 +02:00
Guus der Kinderen 3c5fcebce9 KEYCLOAK-2785: Admin client should be able to delete a user.
The delete user service should be exposed in the admin client.
2016-04-08 16:36:54 +02:00
Vlasta Ramik 00bb2de032 added nexus-staging-maven-plugin 2016-04-08 15:37:21 +02:00
mhajas 013af68d74 Better stability in JSConsole test 2016-04-08 13:57:57 +02:00
mhajas 8209c74918 Fix DemoServlet test 2016-04-08 13:50:16 +02:00
mhajas 4ed2c4e5a8 Fix timeouts in DemoServlets tests 2016-04-08 13:50:03 +02:00
mhajas 34e125ea80 Fix urls on eap6 2016-04-08 13:31:08 +02:00
Marek Posolda 135071b3aa Merge pull request #2552 from mposolda/1.9.x
KEYCLOAK-2614 Refactor database lock to use 'SELECT FOR UPDATE' pessi…
2016-04-08 13:18:43 +02:00
mposolda 38952e5b3d KEYCLOAK-2614 Refactor database lock to use 'SELECT FOR UPDATE' pessimistic locking 2016-04-08 11:48:43 +02:00
Stian Thorgersen 3eefe2438b Merge pull request #2550 from stianst/KEYCLOAK-2683-1.9
KEYCLOAK-2683 Remove QRCodeResource and embed QR code in image
2016-04-08 09:53:24 +02:00
Stian Thorgersen faaf20de95 KEYCLOAK-2683 Remove QRCodeResource and embed QR code in image 2016-04-08 09:01:28 +02:00
Stian Thorgersen 7d5cedc6eb Merge pull request #2549 from stianst/1.9.x
KEYCLOAK-2774
2016-04-08 07:00:45 +02:00
Stian Thorgersen 51efc3c184 KEYCLOAK-2774
Adapters logout section points to removed tokens endpoint
2016-04-08 07:00:32 +02:00
Stian Thorgersen cddba23dcf Merge pull request #2545 from vmuzikar/1.9.x
KEYCLOAK-2772 Add deletion test to GroupTest
2016-04-08 06:51:36 +02:00
Stian Thorgersen 5c693246ba Merge pull request #2542 from stianst/KEYCLOAK-2646-1.9
KEYCLOAK-2646 Admin console shows 'Page not found' after password reset
2016-04-07 19:36:58 +02:00
Stian Thorgersen ae0aa61b3c Merge pull request #2547 from stianst/1.9.x
Revert accidentally removed ResteasyClient configuration in admin
2016-04-07 19:36:49 +02:00
Konstantin Gribov 1cf10f1f11 Revert accidentally removed ResteasyClient configuration in admin
Fixes accidentally removed in PR #2449 ResteasyClient pool size parameter in
`org.keycloak.admin.client.Keycloak`.
2016-04-07 19:36:25 +02:00
Vaclav Muzikar b576703533 KEYCLOAK-2772 Add deletion test to GroupTest 2016-04-07 18:05:12 +02:00
Stian Thorgersen 850de683db Merge pull request #2541 from stianst/admin-client-prs-1.9
Add service account support to Keycloak admin client
2016-04-07 16:53:01 +02:00
Stian Thorgersen 59fd461563 Merge pull request #2537 from stianst/KEYCLOAK-2751-1.9
KEYCLOAK-2751
2016-04-07 16:27:09 +02:00
Stian Thorgersen ddd93df503 KEYCLOAK-2646 Admin console shows 'Page not found' after password reset 2016-04-07 16:23:34 +02:00
Konstantin Gribov 74f98f9eb2 Add service account support to Keycloak admin client
Added grant_type=client_credentials support to keycloak-admin-client
so `keycloak-admin-client` can be used with service client account.

Fixes #KEYCLOAK-2236
2016-04-07 15:45:48 +02:00
Stian Thorgersen b32d50df2d Merge pull request #2540 from guusdk/1.9.x
KEYCLOAK-2767: Should return a primitive if possible.
2016-04-07 15:41:36 +02:00
Stian Thorgersen 61d1c498ef KEYCLOAK-2751
Separate HTTP status codes for REST API errors
2016-04-07 15:39:55 +02:00
Guus der Kinderen 7bbc618e1b KEYCLOAK-2767: Should return a primitive if possible.
A JSON primitive is valid JSON. There is no need to construct a JSON object
just for the sake of being JSON complient. This keeps things nice and simple.
2016-04-07 13:59:17 +02:00
Stian Thorgersen 865371b58f Merge pull request #2536 from stianst/1.9.x
KEYCLOAK-2763
2016-04-07 09:37:36 +02:00
Stian Thorgersen 16b1f88546 KEYCLOAK-2763
Document requirement to use a secure private network for clustering
2016-04-07 09:37:17 +02:00
Stian Thorgersen 0f43e2b6f2 Merge pull request #2533 from stianst/KEYCLOAK-2762-1.9
KEYCLOAK-2762 Renaming a realm without saving the form affects all li…
2016-04-07 09:34:38 +02:00
Stian Thorgersen 949ecf60d9 Merge pull request #2534 from stianst/admin-client-prs-1.9
Add admin client PRs from master
2016-04-07 09:06:59 +02:00
Guus der Kinderen 0024162121 KEYCLOAK-2731: Improve thread safety of TokenManager
This commit guards access to the non-final fields of TokenManager by its intrinsic lock.
2016-04-07 07:36:36 +02:00
Guus der Kinderen 958471b081 KEYCLOAK-2746: By default, allow for concurrent usage
The nature of Keycloak makes it very plausible that it is used in
a concurrent setting. With that in mind, it would make sense to,
by default, allow for more than one concurrent Resteasy connection
in the admin client code.
2016-04-07 07:35:53 +02:00
Guus der Kinderen de80133ea2 KEYCLOAK-2726: Invalidate token upon failure
When a token managed by TokenManager is known to be invalid, it should no
longer be used. This commit adds a response listener to the only filter
using TokenManager, which causes, upon authentication failure, to
invalidate the token that was used.
2016-04-07 07:24:21 +02:00
Guus der Kinderen 13104750f6 KEYCLOAK-2721: Do not recreate TokenService proxy
By re-using the service proxy, classloading issues can be prevented.
2016-04-07 07:20:58 +02:00
Stian Thorgersen 2f575af3d2 Merge pull request #2531 from stianst/KEYCLOAK-2761-1.9
KEYCLOAK-2761 Broken on/off switch at Client Mappers with specific wi…
2016-04-07 07:13:37 +02:00
Stian Thorgersen 56f99ed640 KEYCLOAK-2762 Renaming a realm without saving the form affects all links in Console 2016-04-07 06:59:48 +02:00
Stian Thorgersen a42e7f226f Merge pull request #2529 from stianst/KEYCLOAK-2760-1.9
KEYCLOAK-2760
2016-04-07 06:51:26 +02:00
Stian Thorgersen d6e513f6c3 Merge pull request #2526 from stianst/KEYCLOAK-2759-1.9
KEYCLOAK-2759 Fix error message when renaming realm to name that exists
2016-04-07 06:50:52 +02:00
Stian Thorgersen 1500fff93e Merge pull request #2525 from stianst/KEYCLOAK-2758-1.9
KEYCLOAK-2758
2016-04-07 06:50:07 +02:00
Stian Thorgersen c37437e82b KEYCLOAK-2761 Broken on/off switch at Client Mappers with specific window width 2016-04-07 06:19:48 +02:00
Stian Thorgersen 7d0bb05aaa KEYCLOAK-2760
Cannot delete a client template mapper with a little trash icon in heading
2016-04-07 06:07:32 +02:00
Stian Thorgersen 35297a149d KEYCLOAK-2759 Fix error message when renaming realm to name that exists 2016-04-07 06:00:57 +02:00
Stian Thorgersen e68b71ba01 KEYCLOAK-2758
Weird behavior of add/remove button for 'Valid Redirect URIs' in a client settings form
2016-04-07 05:43:36 +02:00
Stian Thorgersen 900be13423 Merge pull request #2521 from stianst/KEYCLOAK-2756-1.9
KEYCLOAK-2756
2016-04-06 19:25:56 +02:00
Stian Thorgersen 02b8cc7ad3 KEYCLOAK-2756
Renaming a realm breaks down the Clients
2016-04-06 15:19:36 +02:00
Marek Posolda 0371c53d07 Merge pull request #2516 from mposolda/1.9.x
KEYCLOAK-1982 Some builtin objects might be missing when import JSON exported from previous versions
2016-04-06 13:24:29 +02:00
Stian Thorgersen 364a54f792 Merge pull request #2518 from stianst/1.9.x
KEYCLOAK-2752
2016-04-06 13:19:30 +02:00
Stian Thorgersen 0016bd8744 KEYCLOAK-2752
Update documentation re directory for providers
2016-04-06 13:18:56 +02:00
Stian Thorgersen 36baf38d09 Merge pull request #2515 from stianst/KEYCLOAK-2590-1.9
KEYCLOAK-2590 Add custom rest endpoint to set time offset
2016-04-06 12:58:18 +02:00
mposolda 437244f61e KEYCLOAK-1982 Some builtin objects might be missing when import JSON exported from old versions 2016-04-06 11:36:42 +02:00
mposolda 70c85af7e2 Ensure KeycloakSessionFactory.close is called before shutdown of auth-server-undertow 2016-04-06 11:36:42 +02:00
mposolda d97dbdac36 KEYCLOAK-2737 Handle the databaseSchema: 'validate' against empty database 2016-04-06 11:36:41 +02:00
Stian Thorgersen 89013c8f6e KEYCLOAK-2590 Add custom rest endpoint to set time offset 2016-04-06 11:16:28 +02:00
Stian Thorgersen ff80f613d3 Merge pull request #2513 from stianst/KEYCLOAK-2262-1.9
KEYCLOAK-2262
2016-04-06 11:12:04 +02:00
Stian Thorgersen 15cbddba13 KEYCLOAK-2262 Refactor realm resource provider, remove admin resource provider and added example 2016-04-06 10:29:40 +02:00
Pedro Igor 7c11bd2214 [KEYCLOAK-2262] - New SPIs to extend both Realm and Admin RESTful APIs 2016-04-06 10:26:59 +02:00
Stian Thorgersen 7280eb3cd9 Merge pull request #2510 from stianst/KEYCLOAK-2748-1.9
KEYCLOAK-2748
2016-04-06 09:10:21 +02:00
Stian Thorgersen 4d38c1f95d KEYCLOAK-2748
Mark modules as private
2016-04-06 08:07:52 +02:00
Stian Thorgersen 8d196500d8 Merge pull request #2504 from stianst/KEYCLOAK-2707-1.9
KEYCLOAK-2707 Fix account management layout for medium size screens
2016-04-05 13:26:05 +02:00
Marek Posolda a0e21c8bf6 Merge pull request #2506 from mposolda/1.9.x
KEYCLOAK-2623 Remove auth-server-url-for-backend-requests from adapters
2016-04-05 13:09:57 +02:00
mposolda 6b85ff0d77 Removed docker-cluster as integration-arquillian has support for clustering tests now 2016-04-05 11:41:53 +02:00
mposolda 89b622e6a0 KEYCLOAK-2623 Remove auth-server-url-for-backend-requests from adapters 2016-04-05 11:41:53 +02:00
Stian Thorgersen 53e2e352fd Merge pull request #2414 from velias/KEYCLOAK-2670
KEYCLOAK-2670 - client app is able to push additional HTTP GET
2016-04-05 11:20:04 +02:00
Stian Thorgersen fda48fc537 Merge pull request #2501 from vmuzikar/1.9.x
KEYCLOAK-2745 More UI tests stabilization
2016-04-05 11:19:07 +02:00
Stian Thorgersen 3d8721246a Merge pull request #2499 from stianst/KEYCLOAK-2722-1.9
KEYCLOAK-2722 Check user session in token introspection endpoint
2016-04-05 11:18:34 +02:00
Stian Thorgersen 0b3847eb5d KEYCLOAK-2707 Fix account management layout for medium size screens 2016-04-05 10:31:16 +02:00
Vaclav Muzikar 96606fe3da KEYCLOAK-2745 More UI tests stabilization
(cherry picked from commit 3dbf5ee)
2016-04-05 10:14:41 +02:00
Stian Thorgersen b061288d1c KEYCLOAK-2722 Check user session in token introspection endpoint 2016-04-05 09:32:14 +02:00
Stian Thorgersen 89080af339 Merge pull request #2497 from stianst/KEYCLOAK-2652-1.9
KEYCLOAK-2652 Added fasterxml modules to as7 adapter dist
2016-04-05 08:57:56 +02:00
Stian Thorgersen 7bfe51c925 Merge pull request #2495 from stianst/KEYCLOAK-2711-1.9
KEYCLOAK-2711
2016-04-05 08:54:36 +02:00
Stian Thorgersen 07b43f11e2 Merge pull request #2493 from stianst/KEYCLOAK-2704-1.9
KEYCLOAK-2704
2016-04-05 08:54:20 +02:00
Marek Posolda 8b4fe15aeb Merge pull request #2486 from mposolda/1.9.x
databaseSchema option - proper support for "validate" for both JPA and Mongo
2016-04-05 08:48:37 +02:00
Stian Thorgersen 95486ef962 KEYCLOAK-2652 Added fasterxml modules to as7 adapter dist 2016-04-05 08:02:59 +02:00
Stian Thorgersen 5a799d4c33 KEYCLOAK-2711
Button for 'impersonate user' is visible when I am creating new user
2016-04-05 07:54:31 +02:00
Stian Thorgersen 5da2fad0a2 KEYCLOAK-2704
User count missing in REST admin endpoint
2016-04-05 07:48:51 +02:00
Bill Burke 6c84520021 Merge pull request #2491 from patriot1burke/1.9.x
KEYCLOAK-2669
2016-04-04 21:14:21 -04:00
Bill Burke 2955c814b3 KEYCLOAK-2669 2016-04-04 21:13:14 -04:00
Bill Burke aad3b77996 Merge pull request #2489 from patriot1burke/1.9.x
KEYCLOAK-2738
2016-04-04 18:54:51 -04:00
Bill Burke 109191f248 KEYCLOAK-2738 2016-04-04 18:48:22 -04:00
mposolda 749130b689 KEYCLOAK-2737 connectionsMongo: Support for 'databaseSchema: validate' 2016-04-04 22:23:24 +02:00
mposolda a8732aa83c KEYCLOAK-2744 connectionsJpa: the databaseSchema 'validate' should check if database schema is updated to latest version 2016-04-04 22:23:24 +02:00
Bill Burke 6b9aa49f79 Merge pull request #2482 from stianst/KEYCLOAK-2742-1.9.x
KEYCLOAK-2742
2016-04-04 12:54:27 -04:00
Stian Thorgersen 50b701ccf0 Merge pull request #2483 from stianst/1.9.x
Minor update to themes README.txt
2016-04-04 15:26:25 +02:00
Stian Thorgersen 7a67217c87 Minor update to themes README.txt 2016-04-04 15:24:40 +02:00
Stian Thorgersen 4f861dcbec KEYCLOAK-2742
Broken navigation links while creating/editing a Client Mapper
2016-04-04 15:18:32 +02:00
Stian Thorgersen 4be5d27ada Merge pull request #2480 from stianst/KEYCLOAK-2651-1.9.x
KEYCLOAK-2651
2016-04-04 10:05:04 +02:00
Stian Thorgersen 71b0ffa3ca Merge pull request #2478 from stianst/1.9.x
KEYCLOAK-2608
2016-04-04 10:04:47 +02:00
Stian Thorgersen 7ff35067aa KEYCLOAK-2651
No CSRF protection or general security headers on welcome page
2016-04-04 09:12:01 +02:00
Stian Thorgersen 05ee844bf6 KEYCLOAK-2608
Timestamp resolution of 1s for Event.time is inappropriate for use with tests
2016-04-04 08:31:04 +02:00
Stian Thorgersen d05a139a5f Merge pull request #2472 from winfinit/1.9.x
fixed typo in javascript example
2016-04-04 08:16:12 +02:00
Bill Burke b8da04814b Merge pull request #2476 from patriot1burke/1.9.x
KEYCLOAK-2662
2016-04-01 17:55:46 -04:00
Bill Burke 5482a80fe3 KEYCLOAK-2662 2016-04-01 16:43:16 -04:00
Bill Burke 2fd2812c94 Merge pull request #2459 from vmuzikar/1.9.x
KEYCLOAK-2732
2016-04-01 16:03:08 -04:00
Bill Burke bd0cd93c90 Merge pull request #2474 from patriot1burke/1.9.x
KEYCLOAK-2512
2016-04-01 16:01:58 -04:00
Bill Burke 90efb232a4 KEYCLOAK-2512 2016-04-01 14:50:55 -04:00
Roman Jurkov 431bf08c83 fixed typo in javascript example 2016-04-01 14:28:06 -04:00
Marek Posolda d6a70fb31e Merge pull request #2471 from mposolda/1.9.x
KEYCLOAK-2737 Remove 'databaseSchema' property from connectionsMongo
2016-04-01 18:48:40 +02:00
mposolda a049cfefe8 KEYCLOAK-2737 Remove 'databaseSchema' property from connectionsMongo 2016-04-01 16:55:46 +02:00
Marek Posolda 88725f68dd Merge pull request #2469 from mposolda/1.9.x
KEYCLOAK-2613 KEYCLOAK-2413 Export/import fixes and improvements
2016-04-01 16:46:13 +02:00
mposolda e07aefdcfd KEYCLOAK-2613 Add version to RealmRepresentation in JSON exports 2016-04-01 15:49:35 +02:00
mposolda 878b724ce1 KEYCLOAK-2413 Very slow export/import of realms with large users count 2016-04-01 15:33:39 +02:00
Marek Posolda d0bcb6b6aa Merge pull request #2467 from mposolda/1.9.x
Fix LDAPGroupMapperTest with MSAD and Mongo
2016-04-01 11:22:58 +02:00
mposolda e6489b3bc1 Fix LDAPGroupMapperTest with MSAD and Mongo 2016-04-01 10:43:36 +02:00
Marek Posolda aebc473071 Merge pull request #2465 from mposolda/1.9.x
KEYCLOAK-2661 Broken migration from Keycloak 1.5 with Mongo 3
2016-04-01 09:28:32 +02:00
mposolda fdf43f058a KEYCLOAK-2661 Broken migration from Keycloak 1.5 with Mongo 3 2016-03-31 22:29:46 +02:00
Bill Burke 6886510e32 Merge pull request #2463 from patriot1burke/1.9.x
KEYCLOAK-2621
2016-03-31 14:34:47 -04:00
Bill Burke dafa2e3401 KEYCLOAK-2621 2016-03-31 14:33:58 -04:00
Bill Burke e67d37e9d8 Merge pull request #2461 from patriot1burke/1.9.x
KEYCLOAK-2516
2016-03-31 13:58:01 -04:00
Bill Burke 9422542635 KEYCLOAK-2516 2016-03-31 13:57:13 -04:00
Vaclav Muzikar f5bed87eec KEYCLOAK-2732 2016-03-31 18:31:06 +02:00
Marek Posolda 7d2f0fd5cf Merge pull request #2456 from mposolda/1.9.x
KEYCLOAK-2610 Performance improve - add more indexes to database
2016-03-31 13:36:02 +02:00
mposolda cfd8770499 KEYCLOAK-2610 Add more indexes to database 2016-03-31 11:48:41 +02:00
mposolda a540e9a0da KEYCLOAK-2610 More operations added to ManyUsersTest 2016-03-31 11:48:41 +02:00
Bill Burke 028059a668 Merge pull request #2455 from patriot1burke/1.9.x
KEYCLOAK-2716
2016-03-30 20:26:48 -04:00
Bill Burke 1031d6b6f5 resolve conflict 2016-03-30 18:23:18 -04:00
Bill Burke c6a0243c92 KEYCLOAK-2716 2016-03-30 18:14:47 -04:00
Bill Burke 9736f56d3b Merge pull request #2453 from patriot1burke/1.9.x
KEYCLOAK-2490
2016-03-30 15:49:40 -04:00
Bill Burke 662d50eeea Merge pull request #2451 from patriot1burke/1.9.x
KEYCLOAK-2691
2016-03-30 15:47:57 -04:00
Bill Burke bfbbd5375f KEYCLOAK-2490 2016-03-30 15:42:05 -04:00
Bill Burke b735106750 Merge pull request #2445 from mhajas/js-console-1.9.x-PR
KEYCLOAK-2725 Run js-console example on non-relative scanario + tests of implicit flow
2016-03-30 15:16:55 -04:00
Bill Burke 1857c0c0b4 Merge pull request #2431 from mstruk/assert-events-b
KEYCLOAK-2589 KEYCLOAK-2607 KEYCLOAK-2597 Port AssertEvents to integration-arquillian
2016-03-30 15:16:34 -04:00
Bill Burke 157bb84bce Merge pull request #2448 from tkyjovsk/KEYCLOAK-2641-fix_1.9.x
KEYCLOAK-2641 fix 1.9.x
2016-03-30 15:15:36 -04:00
Bill Burke 52617e6ef1 Merge remote-tracking branch 'remote19/1.9.x' into b_1_9 2016-03-30 15:13:51 -04:00
Bill Burke 239816f4f5 KEYCLOAK-2691 2016-03-30 15:13:39 -04:00
Tomas Kyjovsky e4ee88a492 KEYCLOAK-2641 updated READMEs 2016-03-30 18:15:56 +02:00
Tomas Kyjovsky 353958538c KEYCLOAK-2641 Fixed location of module.xsl 2016-03-30 18:15:36 +02:00
mhajas 47a91ccf33 Run js-console example on non-relative scanario + tests of implicit flow 2016-03-30 12:20:40 +02:00
Bill Burke 85baeeb34e Merge pull request #2442 from ssilvert/1.9.x
KEYCLOAK-2619: Partial Import doesn't support groups
2016-03-28 22:58:33 -04:00
Stan Silvert ef1c8199a5 KEYCLOAK-2619: Partial Import doesn't support groups 2016-03-28 15:56:06 -04:00
Bill Burke 89da594735 Merge pull request #2440 from patriot1burke/1.9.x
KEYCLOAK-2718
2016-03-28 12:01:28 -04:00
Bill Burke 811085f9bd KEYCLOAK-2718 2016-03-28 11:13:50 -04:00
Bill Burke b8904bc018 Merge pull request #2438 from patriot1burke/1.9.x
KEYCLOAK-2698
2016-03-28 10:22:13 -04:00
Bill Burke 937d234964 KEYCLOAK-2698 2016-03-28 10:20:50 -04:00
Bill Burke b5bc4f15f8 Merge pull request #2427 from tkyjovsk/fail-if-no-tests-false-1.9.x
Arq. TestSuite Surefire config: failIfNoTests=false
2016-03-28 08:48:09 -04:00
Bill Burke 16863f2ed1 Merge pull request #2434 from patriot1burke/1.9.x
KEYCLOAK-2584
2016-03-25 00:08:47 -04:00
Bill Burke 805afbb592 KEYCLOAK-2584 2016-03-24 18:56:24 -04:00
Bill Burke 977b61f91c Merge pull request #2432 from patriot1burke/1.9.x
KEYCLOAK-2624
2016-03-24 16:24:57 -04:00
Bill Burke 91815c65a3 KEYCLOAK-2624 2016-03-24 15:43:08 -04:00
Marko Strukelj 13cb6f481f KEYCLOAK-2597 Invalid children group location header response 2016-03-24 17:57:09 +01:00
Marko Strukelj dc254ff0f7 KEYCLOAK-2607 Migrate Group tests to ARQ testsuite 2016-03-24 17:57:08 +01:00
Marko Strukelj a633241d2f KEYCLOAK-2589 Copy AssertEvents to Arquillian testsuite and modify to pull events from admin endpoints 2016-03-24 17:57:00 +01:00
Vlastimil Elias 97b38f4ccd KEYCLOAK-2670 - client app is able to push additional HTTP GET
parameters in initial OpenID auth request for use in Auth flows
2016-03-24 16:19:13 +01:00
Marek Posolda 416e4948d7 Merge pull request #2428 from mposolda/1.9.x
KEYCLOAK-2713 Fix error at startup
2016-03-24 16:12:04 +01:00
mposolda 60dff589d4 KEYCLOAK-2713 Fix error at startup 2016-03-24 15:30:11 +01:00
Tomas Kyjovsky 61656c6eba Arq. TestSuite Surefire config: failIfNoTests=false 2016-03-24 15:26:20 +01:00
Bill Burke 2affc4d847 Merge pull request #2422 from tkyjovsk/KEYCLOAK-2641-1.9.x
KEYCLOAK-2641 moved app-server configurations from adapter tests
2016-03-24 09:31:36 -04:00
Bill Burke 09179159e7 Merge pull request #2423 from patriot1burke/1.9.x
KEYCLOAK-2543
2016-03-24 09:30:51 -04:00
Bill Burke b43dc8348d KEYCLOAK-2543 2016-03-24 08:44:31 -04:00
Tomas Kyjovsky f3357c2b5b KEYCLOAK-2641 moved app-server configurations from adapter tests to servers/app-server module 2016-03-24 12:10:37 +01:00
Marek Posolda 79c308166a Merge pull request #2419 from mposolda/1.9.x
Fixes and performance improvements for "create user"
2016-03-24 11:58:41 +01:00
mposolda 2ea985fd30 KEYCLOAK-2610 Ommit checks for default roles and groups during creation of user 2016-03-24 10:47:18 +01:00
mposolda 385cfd5161 KEYCLOAK-2712 Default required actions not added when user created through admin console 2016-03-24 10:47:18 +01:00
mposolda db3cd543df KEYCLOAK-2710 Improve hibernate statistics report 2016-03-24 10:47:17 +01:00
Stian Thorgersen e139fadb02 Merge pull request #2412 from vmuzikar/1.9.x
[KEYCLOAK-2697] Fix some UI tests stability
2016-03-24 08:19:40 +00:00
Stian Thorgersen 10809b47ad Merge pull request #2408 from vmuzikar/1.9.x-KEYCLOAK-2694
[KEYCLOAK-2694] Add system property for test constants location
2016-03-24 08:18:35 +00:00
Stian Thorgersen dd449ffed0 Merge pull request #2406 from vramik/1.9.x-KEYCLOAK-2676
KEYCLOAK-2676 - Review clients tests
2016-03-24 08:17:36 +00:00
Marek Posolda 1f5124fc8a Merge pull request #2416 from mposolda/1.9.x
DB tuning - step 1
2016-03-23 23:29:23 +01:00
mposolda 741a251d89 KEYCLOAK-2610 Improve performance of creating users with MySQL 2016-03-23 22:34:00 +01:00
mposolda 1012611785 KEYCLOAK-2710 Possibility to log some hibernate statistics 2016-03-23 22:33:50 +01:00
Marek Posolda 465f828d73 Merge pull request #2404 from mposolda/1.9.x-idpcache
KEYCLOAK-2632 Caching of identity provider links
2016-03-22 21:35:26 +01:00
mposolda 038294d5c1 KEYCLOAK-2632 Remove flag from UserCacheSession.invalidateUsers 2016-03-22 18:04:59 +01:00
Vaclav Muzikar d1b33e1638 [KEYCLOAK-2697] Fix some UI tests stability 2016-03-22 14:29:35 +01:00
Marek Posolda d863a4b143 Merge pull request #2409 from mposolda/1.9.x
LDAP fixes
2016-03-22 13:43:18 +01:00
mposolda 4a073b6e46 KEYCLOAK-2696 Unexpected error when trying to delete role mappings from read-only LDAP role mapper 2016-03-22 13:01:40 +01:00
mposolda 30b0c35442 KEYCLOAK-2682 NPE when LDAP groups points to non-existent user 2016-03-22 12:26:29 +01:00
Vaclav Muzikar ef5bb6d447 Add system property for test constants location
(cherry picked from commit f9afa13)
2016-03-22 12:21:29 +01:00
Vlasta Ramik 6aa0c7ca39 KEYCLOAK-2676 - Review clients tests 2016-03-22 11:52:20 +01:00
mposolda 70b3091097 KEYCLOAK-2632 Caching of identity provider links 2016-03-22 10:20:22 +01:00
Stian Thorgersen 210a79a575 Merge pull request #2403 from stianst/1.9.x
KEYCLOAK-2657 Remove copyright.txt and README.txt from server dist
2016-03-22 08:34:41 +00:00
Stian Thorgersen a4fb4fd530 KEYCLOAK-2657 Remove copyright.txt and README.txt from server dist 2016-03-22 07:28:32 +00:00
Marek Posolda 6f56320177 Merge pull request #2400 from mposolda/1.9.x
Caching of user consents and serviceAccount links
2016-03-22 08:03:36 +01:00
mposolda 4d13b5105e KEYCLOAK-2631 Caching of service account links 2016-03-22 07:02:18 +01:00
mposolda 97a398790f KEYCLOAK-2630 Add caching for user consents 2016-03-22 07:01:59 +01:00
mposolda c09da5cac8 KEYCLOAK-2687 ZIPException during import big number of users 2016-03-22 07:01:46 +01:00
Stian Thorgersen 9521e71840 Merge pull request #2397 from vramik/KEYCLOAK-2690
KEYCLOAK-2690 - create page source file when test fails
2016-03-21 15:26:26 +01:00
Stian Thorgersen e5d09e1b04 Merge pull request #2396 from mhajas/mellon-realm-1.9.x-PR
KEYCLOAK-2689 Modify mod_auth_mellon realm for rhel7
2016-03-21 15:21:30 +01:00
Stian Thorgersen ebe6d5c5c1 Merge pull request #2394 from mhajas/mellon-timeout-1.9.x-PR
KEYCLOAK-2688 Modified session length in mod_auth_mellon test
2016-03-21 15:21:03 +01:00
Stian Thorgersen 0320884c72 Merge pull request #2387 from pdrozd/1.9.x
KEYCLOAK-2685 - Updated EAP7 namespaces
2016-03-21 15:20:20 +01:00
Stian Thorgersen a254d2120d Merge pull request #2390 from stianst/1.9.x
KEYCLOAK-2686 - Fix failing migration from 1.9.1 to 1.9.2.
2016-03-21 15:12:21 +01:00
Vlasta Ramik 4157907358 create page source file when test fails 2016-03-21 14:16:55 +01:00
mhajas dfc8708808 Modify realm for rhel7 2016-03-21 12:44:43 +01:00
mhajas 67c40eb212 Modified session length 2016-03-21 12:38:00 +01:00
Thomas Darimont bafaef7060 KEYCLOAK-2664 - QRCodeResource should prohibit caching of the generated image
Added cache-control headers to avoid caching for generated
QRCode images.

Adjusted CacheControlUtil#noCache() to avoid caching more aggressively.
2016-03-21 10:39:53 +01:00
Stian Thorgersen ee06eda05c Merge pull request #2379 from vmuzikar/1.9.x
Add properties file for some "constants" used in integration tests
2016-03-21 10:37:31 +01:00
Thomas Darimont a3525dd073 KEYCLOAK-2686 - Fix failing migration from 1.9.1 to 1.9.2.
Since the `Map` returned by `realm.getBrowserSecurityHeaders()` is unmodifiable
we need to add the new header setting to a copy of the map which we then set
on the realm.
2016-03-21 10:31:43 +01:00
Pavel Drozd f97f0e4e1b KEYCLOAK-2685 - Updated EAP7 namespaces 2016-03-21 08:59:05 +01:00
Marek Posolda c62e93577b Merge pull request #2385 from mposolda/1.9.x
KEYCLOAK-2681 JS adapter init function with initOptions argument does…
2016-03-18 14:16:47 +01:00
ratcashdev bcebd3fb83 KEYCLOAK-2679: Fix when importing empty uniqueMember attributes 2016-03-18 12:20:37 +01:00
mposolda 0589c82242 KEYCLOAK-2681 JS adapter init function with initOptions argument doesn't call success callback 2016-03-18 12:08:33 +01:00
Vaclav Muzikar 4ddf4d1c99 Add support for testing default theme name in prop file
(cherry picked from commit 2d7424c)
2016-03-14 16:44:00 +01:00
Vaclav Muzikar a98148f19b Add LDAP vendors test
(cherry picked from commit cd063c6)
2016-03-14 16:43:39 +01:00
Vaclav Muzikar d1072e8942 Add support for some test constants in props file
(cherry picked from commit a35aa47)
2016-03-14 16:43:24 +01:00
Marek Posolda 5b0254f0c7 Merge pull request #2376 from mposolda/1.9.x
KEYCLOAK-2634 Better error reporting if password update failed due to…
2016-03-14 14:32:24 +01:00
mposolda c2b406e7d6 KEYCLOAK-2634 Better error reporting if password update failed due to MSAD password policy 2016-03-14 13:35:30 +01:00
Marek Posolda 4821290c32 Merge pull request #2375 from mposolda/1.9.x
A bit more details about Kerberos and LDAP mappers in docs
2016-03-14 11:52:59 +01:00
mposolda d3bb68c2b0 A bit more details about Kerberos and LDAP mappers in docs 2016-03-14 11:51:13 +01:00
Marek Posolda 9560364a1c Merge pull request #2372 from mposolda/1.9.x
1.9.x
2016-03-14 10:32:32 +01:00
mposolda 4b49bc7140 KEYCLOAK-2659 Allow sync all roles even if there are more than 1000 2016-03-14 09:37:31 +01:00
mposolda 88bac57cad KEYCLOAK-2644 Delete user with a READ_ONLY LDAP federation provider just from Keycloak DB 2016-03-14 09:27:21 +01:00
Marek Posolda 9630921d91 Merge pull request #2371 from mposolda/1.9.x
LDAP fixes
2016-03-11 23:12:10 +01:00
Bill Burke 84e216c2ac Merge pull request #2369 from patriot1burke/1.9.x
refactor user cache
2016-03-11 16:57:15 -05:00
mposolda 0bc72e908f KEYCLOAK-2655 Support of lazy sync LDAP groups, which user is member of 2016-03-11 22:29:43 +01:00
mposolda 6910572bd2 KEYCLOAK-2643 Added write-only property to LDAP full-name attribute mapper 2016-03-11 22:29:43 +01:00
mposolda a4dd8a38b3 KEYCLOAK-2629 LDAP Federation provider - input fields validation 2016-03-11 22:29:42 +01:00
mposolda f0b4127567 KEYCLOAK-2640 LDAP group sync does not sync more than 1000 groups 2016-03-11 22:29:42 +01:00
Bill Burke c4f3a4e68e refactor user cache
KEYCLOAK-2612 Set default eviction strategy for users cache
2016-03-11 11:43:06 -05:00
Stian Thorgersen c0aa4289e2 Merge pull request #2367 from stianst/KEYCLOAK-2612
KEYCLOAK-2612 Set default eviction strategy for users cache
2016-03-11 16:22:51 +01:00
Stian Thorgersen 9be600cffe KEYCLOAK-2593 Character set missing from responses and no content sniffing defense in place 2016-03-11 15:33:09 +01:00
Stian Thorgersen c998f6eb53 KEYCLOAK-2612 Set default eviction strategy for users cache 2016-03-11 15:29:30 +01:00
Stian Thorgersen c901b38858 Merge pull request #2366 from stianst/KEYCLOAK-2637
KEYCLOAK-2637
2016-03-11 15:23:08 +01:00
Stian Thorgersen 4bd09cf14b KEYCLOAK-2637
ModelExceptionMapper uses AdminMessagesProvider which loads messages outside of themes
2016-03-11 13:01:18 +01:00
Stian Thorgersen 3edadb01c5 Merge pull request #2363 from stianst/1.9.x
KEYCLOAK-2636
2016-03-11 12:33:17 +01:00
Stian Thorgersen b738764442 KEYCLOAK-2636
Tooltip for redirect uri is wrong
2016-03-11 11:12:53 +01:00
Marek Posolda 660fd94e7f Merge pull request #2362 from mposolda/1.9.x
KEYCLOAK-2628 protected method to IdpCreateUserIfUniqueAuthenticator …
2016-03-11 11:08:23 +01:00
mposolda a3138b8514 KEYCLOAK-2628 protected method to IdpCreateUserIfUniqueAuthenticator after user is registered 2016-03-11 10:05:07 +01:00
helio-frota 627e434b73 minor update javascript adapter docs 2016-03-11 06:03:40 +01:00
Stian Thorgersen 406754f31b Merge branch 'master' of https://github.com/keycloak/keycloak into 1.9.x 2016-03-10 08:09:40 +01:00
Stian Thorgersen b9fea7b143 Merge pull request #2357 from stianst/master
Fixes
2016-03-10 08:08:09 +01:00
Stian Thorgersen ae63830c22 Merge pull request #2355 from abstractj/KEYCLOAK-2633
Let the admin manage her own account
2016-03-10 07:30:49 +01:00
Stian Thorgersen 96967c0373 Merge pull request #2354 from vramik/KEYCLOAK-2586
KEYCLOAK-2586 - fix URL providers on classpath for graphene 2.1.0.Aplha3
2016-03-10 07:30:26 +01:00
Stian Thorgersen 6e0eb21428 Merge pull request #2352 from mposolda/master
KEYCLOAK-2601 Fix incorrectly autodetected dialect with MSSQL2014
2016-03-10 07:29:28 +01:00
Stian Thorgersen e295efed07 Revert "Updated docs for KEYCLOAK-1020"
This reverts commit 6fe3a3da71.
2016-03-10 07:28:45 +01:00
Stian Thorgersen cd2f6e83b3 Allow ignoring patterns in LogChecker 2016-03-10 07:28:45 +01:00
Stian Thorgersen d722e53108 Next is 1.9.2.Final 2016-03-10 07:28:27 +01:00
mposolda 28252e2409 Fix failing test 2016-03-09 16:49:01 +01:00
Bruno Oliveira 746d285c7b Let the admin manage her own account 2016-03-09 12:16:21 -03:00
Vlasta Ramik 32b29bb130 KEYCLOAK-2586 - fix URL providers on classpath for graphene 2.1.0.Aplha3 2016-03-09 13:58:07 +01:00
mposolda 583f8ad739 KEYCLOAK-2601 Fix incorrectly autodetected dialect with MSSQL2014 2016-03-09 11:56:31 +01:00
Stian Thorgersen b371521b33 Merge pull request #2350 from mposolda/1.9.x
1.9.x
2016-03-09 06:13:52 +01:00
Stian Thorgersen 321b23a78d Merge pull request #2349 from mposolda/master
Log DB info in arquillian testsuite
2016-03-09 06:13:40 +01:00
mposolda f151933d91 Log DB info in arquillian testsuite 2016-03-08 22:08:45 +01:00
mposolda 5ea93822e7 Disable DBLockTest for now 2016-03-08 22:08:33 +01:00
mposolda cafd2d80d2 Added exclusion of old commons-io dependency as it's causing issues in some environments 2016-03-08 22:08:22 +01:00
mposolda c9dcd7973a Fix DB2 2016-03-08 22:08:08 +01:00
mposolda bcace1eacf Log DB info in arquillian testsuite 2016-03-08 22:04:25 +01:00
Marek Posolda dad4945358 Merge pull request #2347 from mposolda/master
Disable DBLockTest for now
2016-03-08 17:57:13 +01:00
mposolda f914a30b6e Disable DBLockTest for now 2016-03-08 17:44:03 +01:00
Marek Posolda d65fb963e6 Merge pull request #2346 from mposolda/master
Added exclusion of old commons-io dependency as it's causing issues i…
2016-03-08 17:42:51 +01:00
mposolda 5772ea2b09 Added exclusion of old commons-io dependency as it's causing issues in some environments 2016-03-08 17:01:48 +01:00
Marek Posolda 620f22249a Merge pull request #2345 from mposolda/master
Fix DB2
2016-03-08 16:06:57 +01:00
mposolda 29052019c5 Fix DB2 2016-03-08 16:05:45 +01:00
Marek Posolda c17b70e454 Merge pull request #2344 from mposolda/master
KEYCLOAK-2611 Keycloak fails to start with Oracle DB
2016-03-08 14:35:43 +01:00
Stian Thorgersen 1199fa7f6d Merge pull request #2343 from stianst/KEYCLOAK-2596
KEYCLOAK-2596 Fix import with dir and ignore existing
2016-03-08 13:50:57 +01:00
Stian Thorgersen 4928f779f7 Merge pull request #2329 from mbaluch/master
KPR-87 - Agreement on terms and conditions as part of authentication …
2016-03-08 13:50:49 +01:00
mposolda 8371c256b2 KEYCLOAK-2611 Keycloak fails to start with Oracle DB 2016-03-08 13:49:19 +01:00
Marek Baluch fa0335613f KPR-87 - Agreement on terms and conditions as part of authentication - Tests 2016-03-08 10:32:25 +01:00
Stian Thorgersen dc1d0e7f44 KEYCLOAK-2596 Fix import with dir and ignore existing 2016-03-08 08:55:10 +01:00
Marek Posolda 229eca302f Merge pull request #2342 from mposolda/master
LDAP fixes
2016-03-08 08:46:28 +01:00
Stian Thorgersen 446c9fea4b Merge pull request #2340 from dbarentine/master
KEYCLOAK-2609 Use createCredential so that authentication will work with both 2.x a…
2016-03-08 07:54:46 +01:00
Stian Thorgersen 1d882cdb87 Merge pull request #2339 from tkyjovsk/jpa-performance
Added workaround for KEYCLOAK-2560 to jpa-performance tests.
2016-03-08 07:53:41 +01:00
Stian Thorgersen bdc5f1c185 Merge pull request #2335 from mhajas/master
Run adapter tests on EAP6/7 + test fixes
2016-03-08 07:53:11 +01:00
Stian Thorgersen 7b578b8c87 Merge pull request #2336 from byF/master
Updated docs for KEYCLOAK-1020
2016-03-08 07:52:40 +01:00
Stian Thorgersen 37f605de5b Merge pull request #2333 from mhajas/newSAMLTest
IdpInitiated login unauthorized test
2016-03-08 07:51:49 +01:00
mposolda 8d21cfc234 KEYCLOAK-2583 Synchronize users after creating ldap federation provider 2016-03-07 23:19:43 +01:00
mposolda df56265976 KEYCLOAK-2582 Wrong message after synchronization (removing user from ldap) 2016-03-07 23:19:43 +01:00
Dane Barentine 7be0b1c9f5 Use createCredential so that authentication will work with both 2.x and 3.x MongoDB servers 2016-03-07 10:14:00 -08:00
Tomas Kyjovsky 52f3693747 Added workaround for KEYCLOAK-2560 to jpa-performance tests.
Optional delete/reimport realm phases.
2016-03-07 18:10:12 +01:00
Marek Posolda 392b1f1e17 Merge pull request #2337 from mposolda/dblock2
KEYCLOAK-2529 More proper handling of DB errors during migration
2016-03-07 16:06:49 +01:00
mposolda ebb61c104b KEYCLOAK-2529 More proper handling of DB errors during migration 2016-03-07 15:19:12 +01:00
Farana, Zdenek 6fe3a3da71 Updated docs for KEYCLOAK-1020 2016-03-07 14:48:32 +01:00
Marek Posolda f597f163f7 Merge pull request #2334 from mposolda/dblock2
Fix testsuite with Mongo
2016-03-07 13:15:31 +01:00
mposolda 1ac0529d04 Fix testsuite with mongo 2016-03-07 12:21:43 +01:00
mposolda 3c60881d8c Check performance of multiple get calls over cluster 2016-03-07 12:21:43 +01:00
Marek Posolda 74ac00349e Merge pull request #2332 from mposolda/dblock2
KEYCLOAK-2529 Concurrent startup by more cluster nodes at the same ti…
2016-03-07 11:47:53 +01:00
mhajas 048c64b6bd IdpInitiated login unauthorized test 2016-03-07 11:23:36 +01:00
mhajas 5917d5885b Merge remote-tracking branch 'upstream/master' 2016-03-07 11:21:24 +01:00
mposolda 8da768a514 KEYCLOAK-2529 Concurrent startup by more cluster nodes at the same time. Added DBLockProvider 2016-03-07 10:34:30 +01:00
Stian Thorgersen ad63b18781 Merge pull request #2330 from stianst/KEYCLOAK-2605
KEYCLOAK-2605 Revert upgrade of Arquillian Graphene
2016-03-07 09:19:53 +01:00
Stian Thorgersen 95d5ce9dd4 KEYCLOAK-2605 Revert upgrade of Arquillian Graphene 2016-03-07 08:38:39 +01:00
Stian Thorgersen 56c3d53a24 Merge pull request #2324 from ssilvert/client-tests
KEYCLOAK-2535: ClientResource endpoint tests
2016-03-07 06:13:55 +01:00
Stian Thorgersen c91255f620 Merge pull request #2328 from abstractj/reg-cli-minor-fix
Client registration won't compile without these changes
2016-03-07 06:12:43 +01:00
Stian Thorgersen 4f047565fb Merge pull request #2326 from stianst/KEYCLOAK-2592
Keycloak 2592
2016-03-07 06:12:17 +01:00
Stan Silvert f65a053182 Make imports in ServerInfoAdminResource explicitly point to the new
packages.
2016-03-04 11:17:12 -05:00
Bill Burke b709ca96b1 Merge pull request #2327 from patriot1burke/master
cleanup cache
2016-03-04 11:08:50 -05:00
Bruno Oliveira 4a027d97b0 Client registration won't compile without these changes 2016-03-04 12:46:57 -03:00
Bill Burke 4be6dc2f0c cleanup cache 2016-03-04 10:30:48 -05:00
Stian Thorgersen 57b6ddbace KEYCLOAK-2592 Set secure on OAuth_Token_Request_State cookie 2016-03-04 14:22:48 +01:00
Stian Thorgersen bf38ec040f KEYCLOAK-2592 Set http-only on OAuth_Token_Request_State cookie 2016-03-04 13:43:00 +01:00
Stan Silvert 2c79456e72 KEYCLOAK-2535: ClientResource endpoint tests 2016-03-04 07:41:24 -05:00
Stian Thorgersen 8caad0118c Merge pull request #2322 from vramik/KEYCLOAK-2586
KEYCLOAK-2586 - Update arquillian component versions to make screensh…
2016-03-04 08:22:47 +01:00
Stian Thorgersen afdbdb285d Merge pull request #2323 from abstractj/KEYCLOAK-2585
KEYCLOAK-2585: Changes on Brute force messages
2016-03-04 08:18:16 +01:00
Bill Burke ad2638cc20 Merge pull request #2325 from jblashka/master
Increase CERTIFICATE column size
2016-03-03 20:26:43 -05:00
Jared Blashka 05c590ac88 Increase CERTIFICATE column size 2016-03-03 17:35:40 -05:00
Bruno Oliveira 8d6f71e7d1 KEYCLOAK-2585: Changes on Brute force messages 2016-03-03 10:11:03 -03:00
Vlasta Ramik 10e1b6206f KEYCLOAK-2586 - Update arquillian component versions to make screenshooter working 2016-03-03 13:39:10 +01:00
Marek Posolda 002074bb30 Merge pull request #2320 from mposolda/master
KEYCLOAK-2523 Fix concurrency tests with all databases by track trans…
2016-03-03 12:34:29 +01:00
Stian Thorgersen 375d4e9e83 Merge pull request #2321 from stianst/KEYCLOAK-2547
KEYCLOAK-2547 NPE in TokenEndpoint and InfinispanUserSessionProvider
2016-03-03 12:06:40 +01:00
mposolda 286de3e905 Fix failing test 2016-03-03 11:46:27 +01:00
mposolda a258dd51ee KEYCLOAK-2523 Fix concurrency tests with all databases by track transaction startup revision 2016-03-03 11:21:26 +01:00
Stian Thorgersen b4239c40c1 KEYCLOAK-2547 NPE in TokenEndpoint and InfinispanUserSessionProvider 2016-03-03 10:45:05 +01:00
Stian Thorgersen b6118a6705 Merge pull request #2319 from stianst/KEYCLOAK-2580
KEYCLOAK-2580 Failed to create execution flow
2016-03-03 10:33:42 +01:00
Stian Thorgersen 2bf3531c43 Merge pull request #2318 from stianst/KEYCLOAK-2577
KEYCLOAK-2577 Rollback session in KeycloakSessionServletFilter if not…
2016-03-03 10:33:29 +01:00
Stian Thorgersen 2d42ad9993 KEYCLOAK-2580 Failed to create execution flow 2016-03-03 09:18:48 +01:00
Stian Thorgersen 2edb7f6831 KEYCLOAK-2577 Rollback session in KeycloakSessionServletFilter if not committed by KeycloakTransactionCommitter 2016-03-03 08:59:19 +01:00
Stian Thorgersen 402feb9710 Merge pull request #2317 from stianst/KEYCLOAK-2576
KEYCLOAK-2576
2016-03-03 07:48:43 +01:00
Stian Thorgersen 13506bec82 Merge pull request #2316 from stianst/KEYCLOAK-2568
KEYCLOAK-2568 Add autocomplete=off to password and otp input fields
2016-03-03 07:28:25 +01:00
Stian Thorgersen 13b6c6f507 KEYCLOAK-2576 KEYCLOAK-2576
Changing locale on login screen doesn't affect current user
2016-03-03 07:06:10 +01:00
Stian Thorgersen 7b8869bde6 Removed english values from non-english messages bundles£ 2016-03-03 06:53:00 +01:00
Stian Thorgersen e4815cd103 Merge pull request #2314 from mstruk/admin-client
KEYCLOAK-2574 Add more admin-client authentication tests
2016-03-03 06:30:48 +01:00
Stian Thorgersen 4214793a2d KEYCLOAK-2568 Add autocomplete=off to password and otp input fields 2016-03-03 06:29:56 +01:00
Bill Burke 860b58552e Merge pull request #2315 from patriot1burke/master
concurrent transaction fix
2016-03-02 17:43:33 -05:00
Bill Burke a13bac4c9d concurrent transaction fix 2016-03-02 16:55:55 -05:00
Marko Strukelj c6fc7622d2 KEYCLOAK-2574 Add more admin-client authentication tests 2016-03-02 15:12:32 +01:00
Stian Thorgersen c584a1a161 Merge pull request #2313 from abstractj/documentation_updates
Inclusion of add user instructions for overlay
2016-03-02 14:52:54 +01:00
Bruno Oliveira b8c50c431c Inclusion of add user instructions for overlay 2016-03-02 10:14:41 -03:00
Stian Thorgersen cc776abacb Merge pull request #2311 from stianst/KEYCLOAK-2557
KEYCLOAK-2557
2016-03-02 08:50:55 +01:00
Stian Thorgersen fea5d5099d Merge pull request #2310 from stianst/KEYCLOAK-2570
KEYCLOAK-2570
2016-03-02 08:50:23 +01:00
Marek Posolda 95e1dedb32 Merge pull request #2306 from mposolda/mysql-concurrency
Added ConcurrentTransactionsTest
2016-03-02 08:14:40 +01:00
Stian Thorgersen 370b86141c KEYCLOAK-2557
Cannot login with email if another user is using this email as username
2016-03-02 08:08:48 +01:00
Stian Thorgersen 45b940ad2d Merge pull request #2308 from tkyjovsk/auth-server-eap7-cluster
KEYCLOAK-1679 Auth server eap7 cluster
2016-03-02 07:54:24 +01:00
Stian Thorgersen 8c3545d219 KEYCLOAK-2570
Login event error field typo (lower case)
2016-03-02 07:52:04 +01:00
Stian Thorgersen 2f3a1626d7 Merge pull request #2309 from tkyjovsk/console-ui-tests
KEYCLOAK-2570 disabled failing test
2016-03-02 07:26:45 +01:00
Stian Thorgersen 5d93f4a298 Merge pull request #2307 from stianst/KEYCLOAK-2566
KEYCLOAK-2566 kc-action-cell action buttons don't appear on IE
2016-03-02 07:04:42 +01:00
Tomas Kyjovsky 66a75d93ee KEYCLOAK-2570 disabled failing test 2016-03-01 23:08:19 +01:00
Tomas Kyjovsky e107a403cf Fixed & enabled SessionFailoverClusterTest by default 2016-03-01 21:44:46 +01:00
Stian Thorgersen 8270c0a19a KEYCLOAK-2566 kc-action-cell action buttons don't appear on IE 2016-03-01 19:58:11 +01:00
Stian Thorgersen db5efdca64 Merge pull request #2304 from stianst/KEYCLOAK-2513
KEYCLOAK-2513 Add test for direct grant with OTP
2016-03-01 19:33:45 +01:00
Stian Thorgersen 5eb319f3c5 Merge pull request #2303 from tkyjovsk/auth-server-jdk
Added property "auth.server.java.home" to the Arquillian testsuite.
2016-03-01 19:33:35 +01:00
Stian Thorgersen 6baa4a7950 Merge pull request #2302 from stianst/KEYCLOAK-2567
KEYCLOAK-2567 Order required actions alphabetically
2016-03-01 19:32:35 +01:00
Tomas Kyjovsky 73b6751219 KEYCLOAK-1679 added cluster profile for eap7 2016-03-01 16:13:12 +01:00
Tomas Kyjovsky c0de43d51f KEYCLOAK-1678 added cluster config to the EAP7 test server module 2016-03-01 16:12:59 +01:00
mposolda 5d9966f6df Ignore ConcurrentTransactionsTest as it's currently failing 2016-03-01 13:52:59 +01:00
mposolda 893fb2a55b Added ConcurrentTransactionsTest 2016-03-01 13:39:03 +01:00
Marek Posolda 4add134dff Merge pull request #2305 from mposolda/master
KEYCLOAK-2542 User can't set password for account created over social…
2016-03-01 11:54:52 +01:00
mhajas 7dc228beca IPv6 in login events 2016-03-01 11:42:16 +01:00
mposolda e6e367392a KEYCLOAK-2542 Fix tests 2016-03-01 10:52:35 +01:00
mposolda 0768bcc452 KEYCLOAK-2542 User can't set password for account created over social login if UserFedarationProvider used 2016-03-01 10:13:21 +01:00
Stian Thorgersen 4f8669d668 KEYCLOAK-2513 Add test for direct grant with OTP 2016-03-01 09:05:02 +01:00
Tomas Kyjovsky c65ed96bd7 Added property "auth.server.java.home" to the Arquillian testsuite. 2016-03-01 08:46:17 +01:00
Stian Thorgersen 7ad8a6e074 KEYCLOAK-2567 Order required actions alphabetically 2016-03-01 08:41:35 +01:00
Stian Thorgersen 2bddd9ad34 Merge pull request #2297 from tkyjovsk/console-ui-tests
Fixed admin console tests' compilation errors.
2016-03-01 08:00:46 +01:00
Stian Thorgersen ff9ebb0f79 Merge pull request #2294 from vramik/KEYCLOAK-2565
KEYCLOAK-2565 - Add assert check to testsuite for KEYCLOAK-2554 and ...
2016-03-01 08:00:23 +01:00
Bill Burke 09133a9e2a Merge pull request #2301 from patriot1burke/master
KEYCLOAK-2510
2016-02-29 20:51:34 -05:00
Bill Burke 32d15e2027 KEYCLOAK-2510 2016-02-29 20:39:44 -05:00
Bill Burke 8aa0727d88 Merge pull request #2300 from patriot1burke/master
KEYCLOAK-2536
2016-02-29 20:08:19 -05:00
Bill Burke c0d0c1f39a fix 2016-02-29 16:48:28 -05:00
Bill Burke 64daa568b9 KEYCLOAK-2536 2016-02-29 16:05:43 -05:00
Marek Posolda 47652ae179 Merge pull request #2298 from mposolda/master
KEYCLOAK-1928 Fix Saml with IBM JDK
2016-02-29 20:57:55 +01:00
mposolda e2558ca827 KEYCLOAK-1928 Fix Saml with IBM JDK 2016-02-29 17:32:33 +01:00
mhajas 5fb7e8186f Make adapter tests run also on EAP6 and EAP7 2016-02-29 17:23:27 +01:00
Tomas Kyjovsky e66060b00b Fixed admin console tests' compilation errors. 2016-02-29 17:13:08 +01:00
Bill Burke 84de9cca8e Merge pull request #2295 from patriot1burke/master
unsecure url has principal
2016-02-29 10:54:19 -05:00
Bill Burke 37584a24e0 unsecure url has principal
KEYCLOAK-2550
Typo in userguide

KEYCLOAK-1928 Kerberos working with IBM JDK

KEYCLOAK-1928 Remove sun.jdk.jgss module

KEYCLOAK-1928 Fix kerberos with adapter on JDK7

KPR-147 - Initial login scenarios around admin password - test

KEYCLOAK-2561 Fix issues with blank password

KEYCLOAK-2559 Missing add/remove button for 'Valid Redirect URIs' in a client settings form

Added simple test for JPA performance (with many users).

Fixed "re-import" operation logging.

Fixed for Timer.saveData()

Fixed for Timer.saveData()

ManyUsersTest: ArrayList --> LinkedList

Fix AbstractUserTest

Fix parentheses in login page object

Add tests for IDP initiated login

KEYCLOAK-1040
Allow import of realm keys (like we do for SAML)

KEYCLOAK-2556 Remove required for client create root url and saml endpoint

KEYCLOAK-2555 ForbiddenException when importing test realm or creating test user

KEYCLOAK-2553
Unexpected form behavior while creating a client

KEYCLOAK-2551
Broken navigation links while creating/editing a Client Mapper
2016-02-29 09:30:28 -05:00
Vlasta Ramik cfc61fa262 KEYCLOAK-2565 - Add assert check to testsuite for KEYCLOAK-2554 and KEYCLOAK-2555 2016-02-29 15:08:19 +01:00
Stian Thorgersen 4286f0560f Merge pull request #2293 from stianst/KEYCLOAK-2551
KEYCLOAK-2551
2016-02-29 14:06:46 +01:00
Stian Thorgersen 116d147bf7 Merge pull request #2292 from stianst/KEYCLOAK-2553
KEYCLOAK-2553
2016-02-29 14:06:13 +01:00
Stian Thorgersen a71adde8fa KEYCLOAK-2551
Broken navigation links while creating/editing a Client Mapper
2016-02-29 12:25:36 +01:00
Stian Thorgersen 45a03a654f KEYCLOAK-2553
Unexpected form behavior while creating a client
2016-02-29 12:05:20 +01:00
Stian Thorgersen 2154dd120b Merge pull request #2291 from stianst/KEYCLOAK-2555
KEYCLOAK-2555 ForbiddenException when importing test realm or creatin…
2016-02-29 12:00:44 +01:00
Stian Thorgersen 2a4dfe7920 Merge pull request #2290 from stianst/KEYCLOAK-2556
KEYCLOAK-2556 Remove required for client create root url and saml end…
2016-02-29 12:00:00 +01:00
Stian Thorgersen 5556736968 Merge pull request #2289 from stianst/KEYCLOAK-1040
KEYCLOAK-1040
2016-02-29 11:59:42 +01:00
Stian Thorgersen 24336bcd4d Merge pull request #2286 from mhajas/newSAMLTest
KEYCLOAK-2563 Add test for IDP initiated login
2016-02-29 11:59:35 +01:00
Stian Thorgersen 6fae1c6411 Merge pull request #2285 from mhajas/fixSAMLTest
Fix parentheses in login page object
2016-02-29 11:59:20 +01:00
Stian Thorgersen d7641f8830 Merge pull request #2282 from tkyjovsk/jpa-performance
Added some jpa perf tests (adding/removing many users)
2016-02-29 11:58:09 +01:00
Stian Thorgersen 24328fdc47 KEYCLOAK-2555 ForbiddenException when importing test realm or creating test user 2016-02-29 10:09:06 +01:00
Stian Thorgersen 4f46ab45cc KEYCLOAK-2556 Remove required for client create root url and saml endpoint 2016-02-29 09:48:15 +01:00
Stian Thorgersen ccfae82b77 KEYCLOAK-1040
Allow import of realm keys (like we do for SAML)
2016-02-29 09:35:08 +01:00
Stian Thorgersen 711e6a54ca Merge pull request #2283 from stianst/KEYCLOAK-2559
KEYCLOAK-2559 Missing add/remove button for 'Valid Redirect URIs' in …
2016-02-29 09:34:59 +01:00
Bill Burke 1d8f3d8702 Merge pull request #2288 from patriot1burke/master
clustered cache fixes
2016-02-26 18:22:38 -05:00
Bill Burke a0696fcb97 clustered testing 2016-02-26 16:45:58 -05:00
Bill Burke abddbfb3a4 clustered testing 2016-02-26 15:39:22 -05:00
Marek Posolda a97c4bdff9 Merge pull request #2287 from mposolda/master
KEYCLOAK-2561 Fix issues with blank password
2016-02-26 21:25:41 +01:00
mposolda e7a5b88b2d KEYCLOAK-2561 Fix issues with blank password 2016-02-26 18:14:37 +01:00
mhajas 4f0609f8b2 Add tests for IDP initiated login 2016-02-26 16:55:12 +01:00
mhajas e4d056f54b Fix parentheses in login page object 2016-02-26 16:50:00 +01:00
Tomas Kyjovsky a3f7339fca Fix AbstractUserTest 2016-02-26 14:57:28 +01:00
Stian Thorgersen 57cd7e132c KEYCLOAK-2559 Missing add/remove button for 'Valid Redirect URIs' in a client settings form 2016-02-26 13:53:27 +01:00
Stian Thorgersen d766c56eba Merge pull request #2278 from mbaluch/master
KPR-147 - Initial login scenarios around admin password - test
2016-02-26 13:46:52 +01:00
Tomas Kyjovsky 0fa2b5c25d ManyUsersTest: ArrayList --> LinkedList 2016-02-26 12:34:39 +01:00
Marek Baluch 072fe0d8a0 KPR-147 - Initial login scenarios around admin password - test 2016-02-26 12:21:51 +01:00
Marek Posolda 2ec355e2d2 Merge pull request #2281 from mposolda/master
KEYCLOAK-1928 Fix kerberos with adapter on JDK7
2016-02-26 11:36:04 +01:00
mposolda 94b3e85513 KEYCLOAK-1928 Fix kerberos with adapter on JDK7 2016-02-26 10:49:10 +01:00
Marek Posolda 4abcb2761f Merge pull request #2280 from mposolda/master
KEYCLOAK-1928 Kerberos working with IBM JDK
2016-02-26 10:13:14 +01:00
mposolda aae550a7c7 KEYCLOAK-1928 Remove sun.jdk.jgss module 2016-02-26 09:16:39 +01:00
mposolda 7f32ce810a KEYCLOAK-1928 Kerberos working with IBM JDK 2016-02-26 09:16:39 +01:00
Stian Thorgersen 13acd512b6 Merge pull request #2279 from stianst/master
KEYCLOAK-2550
2016-02-26 07:54:18 +01:00
Stian Thorgersen b94ced2204 KEYCLOAK-2550
Typo in userguide
2016-02-26 07:53:38 +01:00
Tomas Kyjovsky c59123e974 Fixed for Timer.saveData() 2016-02-26 03:21:15 +01:00
Tomas Kyjovsky ff2c100664 Fixed for Timer.saveData() 2016-02-26 03:20:57 +01:00
Tomas Kyjovsky 41949b63f6 Fixed "re-import" operation logging. 2016-02-26 02:31:51 +01:00
Tomas Kyjovsky aea35454bf Added simple test for JPA performance (with many users). 2016-02-26 02:24:20 +01:00
Stian Thorgersen 25d183c1d9 Merge pull request #2277 from pedroigor/KEYCLOAK-2471
Updating xmlsec to 2.0.5
2016-02-25 16:28:56 +01:00
Pedro Igor 3b8364f1e6 Updating xmlsec to 2.0.5 2016-02-25 11:43:00 -03:00
Stian Thorgersen ca81f3f18d Merge pull request #2275 from stianst/KEYCLOAK-2511
KEYCLOAK-2511 Rename session-state in access token response to sessio…
2016-02-25 12:03:37 +01:00
Stian Thorgersen 6df72d67c5 Merge pull request #2274 from stianst/KEYCLOAK-2500
KEYCLOAK-2500 Add cors headers to .well-known endpoints
2016-02-25 12:03:25 +01:00
Stian Thorgersen f6c7ecf8e3 Merge pull request #2273 from stianst/KEYCLOAK-2522
KEYCLOAK-2522 master realm admin can't use client registration api
2016-02-25 12:03:07 +01:00
Stian Thorgersen d723efae77 Merge pull request #2276 from msavy/keycloak-update-docs
Update docs for move of themes and providers directories
2016-02-25 10:56:26 +01:00
Marc Savy b7f4d52de1 Update docs for change of themes and providers directories to reflect 1.9.x refactoring. 2016-02-25 09:50:11 +00:00
Stian Thorgersen 3ca39801dc KEYCLOAK-2511 Rename session-state in access token response to session_state 2016-02-25 10:14:12 +01:00
Stian Thorgersen da8f2dc2ce KEYCLOAK-2500 Add cors headers to .well-known endpoints 2016-02-25 10:05:46 +01:00
Stian Thorgersen 2fce06ffca KEYCLOAK-2522 master realm admin can't use client registration api 2016-02-25 09:54:34 +01:00
Stian Thorgersen 14ea988b24 Merge pull request #2267 from ssilvert/client-tests
KEYCLOAK-2533: Test values of events in LoginEventsTest
2016-02-25 08:50:09 +01:00
Bill Burke 5723baa367 Merge pull request #2272 from patriot1burke/master
group list caching
2016-02-24 18:31:25 -05:00
Bill Burke 450ce0e0e0 oops, showSql=false 2016-02-24 17:46:30 -05:00
Bill Burke 17ea3fca0b Merge remote-tracking branch 'upstream/master' 2016-02-24 17:21:25 -05:00
Bill Burke f10f00ba71 group list caching 2016-02-24 17:21:11 -05:00
Stian Thorgersen 8c73f8743d Merge pull request #2269 from stianst/KEYCLOAK-2539
KEYCLOAK-2539
2016-02-24 16:15:50 +01:00
Stian Thorgersen ab96114ef8 KEYCLOAK-2539
Migration fails if DisplayNameHtml is null for master realm
2016-02-24 06:59:32 +01:00
Bill Burke c45e40db99 Merge pull request #2268 from patriot1burke/master
query caches
2016-02-23 15:10:58 -05:00
Bill Burke 9488787986 Merge remote-tracking branch 'upstream/master' 2016-02-23 14:36:30 -05:00
Stan Silvert 64b2aed370 KEYCLOAK-2533: Test values of events in LoginEventsTest. Also do the same
for AdminEventTest.
2016-02-23 14:20:35 -05:00
Stian Thorgersen f63bb66170 Merge pull request #2266 from stianst/master
Added wallpaper svg
2016-02-23 20:09:04 +01:00
Stian Thorgersen 1957103270 Added wallpaper svg 2016-02-23 20:08:43 +01:00
Stan Silvert 3383b044b2 KEYCLOAK-2316: Sync admin client with endpoints for Client. First commit. 2016-02-23 13:29:12 -05:00
Stian Thorgersen f34260478e Merge pull request #2263 from vmuzikar/master
[KEYCLOAK-2532] Fix Console UI tests
2016-02-23 19:25:05 +01:00
Stian Thorgersen 4cf26a68fc Merge pull request #2264 from stianst/master
KEYCLOAK-2530
2016-02-23 19:24:30 +01:00
Stian Thorgersen 2c16335a03 Updated examples with moved themes directory 2016-02-23 15:30:50 +01:00
Stian Thorgersen af26b5b610 KEYCLOAK-2530
Missing IP address in Login Events
2016-02-23 14:33:30 +01:00
Stian Thorgersen eacd689f91 Merge pull request #2262 from stianst/master
KEYCLOAK-2527
2016-02-23 14:15:25 +01:00
Stian Thorgersen 023b558f43 KEYCLOAK-2527
Cordova not working
2016-02-23 13:32:00 +01:00
Vaclav Muzikar 8601b321d5 Fix InternationalizationTest 2016-02-23 13:22:56 +01:00
Vaclav Muzikar 83181f28b2 Swap 'expected' and 'actual' in URLAssert 2016-02-23 13:13:22 +01:00
Vaclav Muzikar 77c16c320e Fix LdapUserFederationTest 2016-02-23 12:58:39 +01:00
Vaclav Muzikar a6458250bc Merge branch 'master' of https://github.com/keycloak/keycloak 2016-02-23 12:11:17 +01:00
Marek Posolda 6654a154b9 Merge pull request #2259 from mposolda/master
Fix fuse adapter
2016-02-23 11:57:21 +01:00
mposolda 4d82cc92fe Fix fuse adapter 2016-02-23 11:19:34 +01:00
Stian Thorgersen 3e1976b3e5 Merge pull request #2255 from stianst/master
Next is 1.9.1.Final-SNAPSHOT
2016-02-23 10:59:53 +01:00
Marek Posolda 695f8d34ab Merge pull request #2257 from mposolda/master
KEYCLOAK-2526 JPA migration from 1.8.1 doesn't work
2016-02-23 10:37:53 +01:00
mposolda ad753a50a3 KEYCLOAK-2526 JPA migration from 1.8.1 doesn't work 2016-02-23 10:01:40 +01:00
Stian Thorgersen 0fc9cb78d5 KEYCLOAK-2525
Built-in themes not loaded from modules
2016-02-23 09:51:22 +01:00
Stian Thorgersen ec9c9b8ee1 Remove old logo from sunrise theme example 2016-02-23 09:06:51 +01:00
Bruno Oliveira 5ac3443729 Admin client example fails after login 2016-02-23 08:51:17 +01:00
Bruno Oliveira fac8c4a6d0 Angular Product raises an exception on logout 2016-02-23 08:49:58 +01:00
Bruno Oliveira d7f4277ba8 Admin cannot manage her own profile at Customer Portal app 2016-02-23 08:49:13 +01:00
Stian Thorgersen a1d9753ec2 Next is 1.9.1.Final-SNAPSHOT 2016-02-23 08:48:26 +01:00
Bill Burke 599faa454b Merge remote-tracking branch 'upstream/master' 2016-02-22 17:17:01 -05:00
Bill Burke 4dcdaf4985 role cached queries 2016-02-22 17:16:35 -05:00
Marek Posolda 03215787e0 Merge pull request #2250 from mposolda/master
Fix SyncFederationTest to work with MSSQL and envs with slower databases
2016-02-22 12:05:19 +01:00
mposolda 838764ba5a Fix SyncFederationTest to work with MSSQL and envs with slower databases 2016-02-22 12:04:27 +01:00
Stian Thorgersen 4fd97091ff Version bump to 2.0.0.CR1-SNAPSHOT 2016-02-22 11:36:56 +01:00
Bill Burke daa09f9a41 more fine tuning 2016-02-20 09:40:04 -05:00
Bill Burke 1511f7088f javadoc 2016-02-19 17:08:45 -05:00
Bill Burke 2e64d01251 reorg caching 2016-02-19 16:38:31 -05:00
Bill Burke c45524d8d4 caching 2016-02-19 15:44:19 -05:00
Vaclav Muzikar d3769caaac Add wait for body to AbstractPage.navigateTo
(cherry picked from commit aba731b)
2016-02-19 13:35:31 +01:00
Vaclav Muzikar 3a138db842 Fix UserAttributesTest
(cherry picked from commit 7ac10b3)
2016-02-19 12:51:11 +01:00
Vaclav Muzikar b41dd22ed3 Fix DefaultRolesTest
(cherry picked from commit 6e7470d)
2016-02-19 12:50:52 +01:00
Vaclav Muzikar c34aa5763d Fix TokensTest
(cherry picked from commit 32e6bb0)
2016-02-19 12:50:34 +01:00
Vaclav Muzikar 02851989b3 Fix SecurityDefensesTest
(cherry picked from commit 1973f02)
2016-02-19 12:50:11 +01:00
Vaclav Muzikar 9bde0af0f1 Fix InternationalizationTest
(cherry picked from commit d58a575)
2016-02-19 12:49:47 +01:00
Vaclav Muzikar 8006c64dba Add Alert assert messages
(cherry picked from commit 9f847fa)
2016-02-19 12:48:10 +01:00
Vaclav Muzikar 4b5fee02cc Fix AbstractClientTest.createClient
(cherry picked from commit 5ab40b0)
2016-02-19 12:47:59 +01:00
Vaclav Muzikar 1569cf7fb5 Fix ClientScopeForm
(cherry picked from commit 7edd674)
2016-02-19 12:47:29 +01:00
Vaclav Muzikar 5a0711655a Fix ClientCredentialsForm
(cherry picked from commit 3e825bf)
2016-02-19 12:47:08 +01:00
Vaclav Muzikar b5660cbbab Fix LoginActions.feedbackText selector
(cherry picked from commit d05f809)
2016-02-19 12:45:52 +01:00
Vaclav Muzikar ec2cfba670 Fix LoginForm.registerLink
(cherry picked from commit 6414232)
2016-02-19 12:45:01 +01:00
Vaclav Muzikar 97d0f39346 Fix getFeedbackText()
(cherry picked from commit 131b99b)
2016-02-19 12:42:31 +01:00
1866 changed files with 68308 additions and 23321 deletions

No files matched your search

+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -169,11 +169,7 @@ public class AdapterDeploymentContext {
public void setAuthServerBaseUrl(String authServerBaseUrl) {
this.authServerBaseUrl = authServerBaseUrl;
KeycloakUriBuilder serverBuilder = KeycloakUriBuilder.fromUri(authServerBaseUrl);
resolveBrowserUrls(serverBuilder);
if (delegate.getRelativeUrls() == RelativeUrlsUsed.ALL_REQUESTS) {
resolveNonBrowserUrls(serverBuilder);
}
resolveUrls(serverBuilder);
}
@Override
@@ -38,37 +38,6 @@ public class AdapterUtils {
return UUID.randomUUID().toString();
}
/**
* Best effort to find origin for REST request calls from web UI application to REST application. In case of relative or absolute
* "auth-server-url" is returned the URL from request. In case of "auth-server-url-for-backend-request" used in configuration, it returns
* the origin of auth server.
*
* This may be the optimization in cluster, so if you have keycloak and applications on same host, the REST request doesn't need to
* go through loadbalancer, but can be sent directly to same host.
*
* @param browserRequestURL
* @param session
* @return
*/
public static String getOriginForRestCalls(String browserRequestURL, KeycloakSecurityContext session) {
if (session instanceof RefreshableKeycloakSecurityContext) {
KeycloakDeployment deployment = ((RefreshableKeycloakSecurityContext)session).getDeployment();
switch (deployment.getRelativeUrls()) {
case ALL_REQUESTS:
case NEVER:
// Resolve baseURI from the request
return UriUtils.getOrigin(browserRequestURL);
case BROWSER_ONLY:
// Resolve baseURI from the codeURL (This is already non-relative and based on our hostname)
return UriUtils.getOrigin(deployment.getTokenUrl());
default:
return "";
}
} else {
return UriUtils.getOrigin(browserRequestURL);
}
}
public static Set<String> getRolesFromSecurityContext(RefreshableKeycloakSecurityContext session) {
Set<String> roles = null;
AccessToken accessToken = session.getToken();
@@ -24,6 +24,7 @@ import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.jboss.logging.Logger;
import org.keycloak.OAuth2Constants;
import org.keycloak.adapters.authentication.ClientCredentialsProviderUtils;
@@ -104,6 +105,7 @@ public class BasicAuthRequestAuthenticator extends BearerTokenRequestAuthenticat
int status = response.getStatusLine().getStatusCode();
HttpEntity entity = response.getEntity();
if (status != 200) {
EntityUtils.consumeQuietly(entity);
throw new java.io.IOException("Bad status: " + status);
}
if (entity == null) {
@@ -111,39 +111,17 @@ public class KeycloakDeployment {
public void setAuthServerBaseUrl(AdapterConfig config) {
this.authServerBaseUrl = config.getAuthServerUrl();
String authServerURLForBackendReqs = config.getAuthServerUrlForBackendRequests();
if (authServerBaseUrl == null && authServerURLForBackendReqs == null) return;
if (authServerBaseUrl == null) return;
URI authServerUri = null;
if (authServerBaseUrl != null) {
authServerUri = URI.create(authServerBaseUrl);
}
URI authServerUri = URI.create(authServerBaseUrl);
if (authServerUri == null || authServerUri.getHost() == null) {
if (authServerURLForBackendReqs != null) {
relativeUrls = RelativeUrlsUsed.BROWSER_ONLY;
KeycloakUriBuilder serverBuilder = KeycloakUriBuilder.fromUri(authServerURLForBackendReqs);
if (serverBuilder.getHost() == null || serverBuilder.getScheme() == null) {
throw new IllegalStateException("Relative URL not supported for auth-server-url-for-backend-requests option. URL used: "
+ authServerURLForBackendReqs + ", Client: " + config.getResource());
}
resolveNonBrowserUrls(serverBuilder);
} else {
relativeUrls = RelativeUrlsUsed.ALL_REQUESTS;
}
if (authServerUri.getHost() == null) {
relativeUrls = RelativeUrlsUsed.ALWAYS;
} else {
// We have absolute URI in config
relativeUrls = RelativeUrlsUsed.NEVER;
KeycloakUriBuilder serverBuilder = KeycloakUriBuilder.fromUri(authServerBaseUrl);
resolveBrowserUrls(serverBuilder);
if (authServerURLForBackendReqs == null) {
resolveNonBrowserUrls(serverBuilder);
} else {
serverBuilder = KeycloakUriBuilder.fromUri(authServerURLForBackendReqs);
resolveNonBrowserUrls(serverBuilder);
}
resolveUrls(serverBuilder);
}
}
@@ -152,23 +130,14 @@ public class KeycloakDeployment {
/**
* @param authUrlBuilder absolute URI
*/
protected void resolveBrowserUrls(KeycloakUriBuilder authUrlBuilder) {
protected void resolveUrls(KeycloakUriBuilder authUrlBuilder) {
if (log.isDebugEnabled()) {
log.debug("resolveBrowserUrls");
log.debug("resolveUrls");
}
String login = authUrlBuilder.clone().path(ServiceUrlConstants.AUTH_PATH).build(getRealm()).toString();
authUrl = KeycloakUriBuilder.fromUri(login);
realmInfoUrl = authUrlBuilder.clone().path(ServiceUrlConstants.REALM_INFO_PATH).build(getRealm()).toString();
}
/**
* @param authUrlBuilder absolute URI
*/
protected void resolveNonBrowserUrls(KeycloakUriBuilder authUrlBuilder) {
if (log.isDebugEnabled()) {
log.debug("resolveNonBrowserUrls");
}
tokenUrl = authUrlBuilder.clone().path(ServiceUrlConstants.TOKEN_PATH).build(getRealm()).toString();
logoutUrl = KeycloakUriBuilder.fromUri(authUrlBuilder.clone().path(ServiceUrlConstants.TOKEN_SERVICE_LOGOUT_PATH).build(getRealm()).toString());
@@ -206,7 +206,7 @@ public class OAuthRequestAuthenticator {
tokenStore.saveRequest();
log.debug("Sending redirect to login page: " + redirect);
exchange.getResponse().setStatus(302);
exchange.getResponse().setCookie(deployment.getStateCookieName(), state, /* need to set path? */ null, null, -1, deployment.getSslRequired().isRequired(facade.getRequest().getRemoteAddr()), false);
exchange.getResponse().setCookie(deployment.getStateCookieName(), state, /* need to set path? */ null, null, -1, deployment.getSslRequired().isRequired(facade.getRequest().getRemoteAddr()), true);
exchange.getResponse().setHeader("Location", redirect);
return true;
}
@@ -54,7 +54,7 @@ public class KeycloakDeploymentBuilderTest {
assertEquals("234234-234234-234234", deployment.getResourceCredentials().get("secret"));
assertEquals(ClientIdAndSecretCredentialsProvider.PROVIDER_ID, deployment.getClientAuthenticator().getId());
assertEquals(20, ((ThreadSafeClientConnManager) deployment.getClient().getConnectionManager()).getMaxTotal());
assertEquals("https://backend:8443/auth/realms/demo/protocol/openid-connect/token", deployment.getTokenUrl());
assertEquals("https://localhost:8443/auth/realms/demo/protocol/openid-connect/token", deployment.getTokenUrl());
assertEquals(RelativeUrlsUsed.NEVER, deployment.getRelativeUrls());
assertTrue(deployment.isAlwaysRefreshToken());
assertTrue(deployment.isRegisterNodeAtStartup());
@@ -24,7 +24,6 @@
"client-keystore": "classpath:/keystore.jks",
"client-keystore-password": "storepass",
"client-key-password": "keypass",
"auth-server-url-for-backend-requests": "https://backend:8443/auth",
"always-refresh-token": true,
"register-node-at-startup": true,
"register-node-period": 1000,
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-as7-integration-pom</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-as7-integration-pom</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-as7-integration-pom</artifactId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
+1 -1
View File
@@ -20,7 +20,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<name>Keycloak AS7 / JBoss EAP 6 Integration</name>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -18,6 +18,8 @@
package org.keycloak.adapters.jetty.core;
import org.eclipse.jetty.security.DefaultUserIdentity;
import org.eclipse.jetty.security.IdentityService;
import org.eclipse.jetty.security.LoginService;
import org.eclipse.jetty.security.ServerAuthException;
import org.eclipse.jetty.security.UserAuthentication;
import org.eclipse.jetty.security.authentication.DeferredAuthentication;
@@ -135,10 +137,44 @@ public abstract class AbstractKeycloakJettyAuthenticator extends LoginAuthentica
return new DefaultUserIdentity(theSubject, principal, theRoles);
}
private class DummyLoginService implements LoginService {
@Override
public String getName() {
return null;
}
@Override
public UserIdentity login(String username, Object credentials) {
return null;
}
@Override
public boolean validate(UserIdentity user) {
return false;
}
@Override
public IdentityService getIdentityService() {
return null;
}
@Override
public void setIdentityService(IdentityService service) {
}
@Override
public void logout(UserIdentity user) {
}
}
@Override
public void setConfiguration(AuthConfiguration configuration) {
//super.setConfiguration(configuration);
initializeKeycloak();
// need this so that getUserPrincipal does not throw NPE
_loginService = new DummyLoginService();
String error = configuration.getInitParameter(FormAuthenticator.__FORM_ERROR_PAGE);
setErrorPage(error);
}
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -20,7 +20,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<name>Keycloak Jetty Integration</name>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+99 -20
View File
@@ -25,6 +25,7 @@
var kc = this;
var adapter;
var refreshQueue = [];
var storage;
var loginIframe = {
enable: true,
@@ -35,6 +36,8 @@
kc.init = function (initOptions) {
kc.authenticated = false;
storage = new PersistentStorage();
if (window.Cordova) {
adapter = loadAdapter('cordova');
} else {
@@ -163,6 +166,8 @@
}
} else if (initOptions.onLoad) {
onLoad();
} else {
initPromise.setSuccess();
}
} else {
initPromise.setSuccess();
@@ -190,7 +195,7 @@
redirectUri += (redirectUri.indexOf('?') == -1 ? '?' : '&') + 'prompt=' + options.prompt;
}
sessionStorage.oauthState = JSON.stringify({ state: state, nonce: nonce, redirectUri: encodeURIComponent(redirectUri) });
storage.setItem('oauthState', JSON.stringify({ state: state, nonce: nonce, redirectUri: encodeURIComponent(redirectUri) }));
var action = 'auth';
if (options && options.action == 'register') {
@@ -687,10 +692,11 @@
function parseCallback(url) {
var oauth = new CallbackParser(url, kc.responseMode).parseUri();
var sessionState = sessionStorage.oauthState && JSON.parse(sessionStorage.oauthState);
var oauthState = storage.getItem('oauthState');
var sessionState = oauthState && JSON.parse(oauthState);
if (sessionState && (oauth.code || oauth.error || oauth.access_token || oauth.id_token) && oauth.state && oauth.state == sessionState.state) {
delete sessionStorage.oauthState;
storage.removeItem('oauthState');
oauth.redirectUri = sessionState.redirectUri;
oauth.storedNonce = sessionState.nonce;
@@ -878,31 +884,28 @@
var loginUrl = kc.createLoginUrl(options);
var ref = window.open(loginUrl, '_blank', o);
var callback;
var error;
var completed = false;
ref.addEventListener('loadstart', function(event) {
if (event.url.indexOf('http://localhost') == 0) {
callback = parseCallback(event.url);
var callback = parseCallback(event.url);
processCallback(callback, promise);
ref.close();
completed = true;
}
});
ref.addEventListener('loaderror', function(event) {
if (event.url.indexOf('http://localhost') == 0) {
callback = parseCallback(event.url);
ref.close();
} else {
error = true;
ref.close();
}
});
ref.addEventListener('exit', function(event) {
if (error || !callback) {
promise.setError();
} else {
processCallback(callback, promise);
if (!completed) {
if (event.url.indexOf('http://localhost') == 0) {
var callback = parseCallback(event.url);
processCallback(callback, promise);
ref.close();
completed = true;
} else {
promise.setError();
ref.close();
}
}
});
@@ -974,6 +977,82 @@
}
var PersistentStorage = function() {
if (!(this instanceof PersistentStorage)) {
return new PersistentStorage();
}
var ps = this;
var useCookieStorage = function () {
if (typeof localStorage === "undefined") {
return true;
}
try {
var key = '@@keycloak-session-storage/test';
localStorage.setItem(key, 'test');
localStorage.removeItem(key);
return false;
} catch (err) {
// Probably in Safari "private mode" where localStorage
// quota is 0, or quota exceeded. Switching to cookie
// storage.
return true;
}
}
ps.setItem = function(key, value) {
if (useCookieStorage()) {
setCookie(key, value, cookieExpiration(5));
} else {
localStorage.setItem(key, value);
}
}
ps.getItem = function(key) {
if (useCookieStorage()) {
return getCookie(key);
}
return localStorage.getItem(key);
}
ps.removeItem = function(key) {
if (typeof localStorage !== "undefined") {
try {
// Always try to delete from localStorage.
localStorage.removeItem(key);
} catch (err) { }
}
// Always remove the cookie.
setCookie(key, '', cookieExpiration(-100));
}
var cookieExpiration = function (minutes) {
var exp = new Date();
exp.setTime(exp.getTime() + (minutes*60*1000));
return exp;
}
var getCookie = function (key) {
var name = key + '=';
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return '';
}
var setCookie = function (key, value, expirationDate) {
var cookie = key + '=' + value + '; '
+ 'expires=' + expirationDate.toUTCString() + '; ';
document.cookie = cookie;
}
}
var CallbackParser = function(uriToParse, responseMode) {
if (!(this instanceof CallbackParser)) {
return new CallbackParser(uriToParse, responseMode);
+30 -2
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -36,15 +36,32 @@
org.keycloak.adapters.osgi.*
</keycloak.osgi.export>
<keycloak.osgi.import>
org.ops4j.pax.web.*;version="[3.0,4)",
org.ops4j.pax.web.*;version="[3.0,5)",
javax.servlet.*;version="[2.5,4)";resolution:=optional,
org.eclipse.jetty.*;version="[8.1,10)";resolution:=optional,
org.keycloak.*;version="${project.version}",
org.apache.cxf.transport.http;resolution:=optional;version="[3,4)",
org.apache.cxf.transport.servlet;resolution:=optional;version="[3,4)",
*;resolution:=optional
</keycloak.osgi.import>
</properties>
<dependencies>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-spi</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
@@ -65,12 +82,23 @@
<artifactId>pax-web-runtime</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-security</artifactId>
<version>${jetty9.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
@@ -0,0 +1,71 @@
/*
* Copyright 2016 Red Hat, Inc. and/or its affiliates
* and other contributors as indicated by the @author tags.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.keycloak.adapters.osgi;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.keycloak.adapters.KeycloakConfigResolver;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
import org.keycloak.adapters.OIDCHttpFacade;
public class PathBasedKeycloakConfigResolver implements KeycloakConfigResolver {
private final Map<String, KeycloakDeployment> cache = new ConcurrentHashMap<String, KeycloakDeployment>();
@Override
public KeycloakDeployment resolve(OIDCHttpFacade.Request request) {
String path = request.getURI();
String[] urlTokens = path.split("/");
if (urlTokens.length < 4) {
throw new IllegalStateException("Not able to determine the web-context to load the correspondent keycloak.json file");
}
String webContext = urlTokens[3];
KeycloakDeployment deployment = cache.get(webContext);
if (null == deployment) {
// not found on the simple cache, try to load it from the file system
String keycloakConfig = (String) System.getProperties().get("keycloak.config");
if(keycloakConfig == null || "".equals(keycloakConfig.trim())){
String karafEtc = (String) System.getProperties().get("karaf.etc");
if(karafEtc == null || "".equals(karafEtc.trim())){
throw new IllegalStateException("Neither \"keycloak.config\" nor \"karaf.etc\" java properties are set. Please set one of them.");
}
keycloakConfig = karafEtc;
}
String absolutePath = keycloakConfig + File.separator + webContext + "-keycloak.json";
InputStream is = null;
try {
is = new FileInputStream(absolutePath);
} catch (FileNotFoundException e){
throw new IllegalStateException("Not able to find the file " + absolutePath);
}
deployment = KeycloakDeploymentBuilder.build(is);
cache.put(webContext, deployment);
}
return deployment;
}
}
@@ -18,15 +18,22 @@
package org.keycloak.adapters.osgi;
import java.util.Arrays;
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.List;
import java.util.Properties;
import javax.servlet.Servlet;
import org.apache.cxf.transport.http.DestinationRegistry;
import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
import org.jboss.logging.Logger;
import org.ops4j.pax.web.service.WebContainer;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
import org.osgi.service.http.HttpContext;
import org.osgi.util.tracker.ServiceTracker;
import org.osgi.util.tracker.ServiceTrackerCustomizer;
@@ -42,13 +49,15 @@ import org.osgi.util.tracker.ServiceTrackerCustomizer;
*/
public class ServletReregistrationService {
private static final String CXF_SERVLET_PREFIX = "org.apache.cxf.servlet.";
protected static final Logger log = Logger.getLogger(ServletReregistrationService.class);
private static final List<String> FILTERED_PROPERTIES = Arrays.asList("objectClass", "service.id");
private BundleContext bundleContext;
private ServiceReference servletReference;
private ServiceReference managedServiceReference;
private ServiceTracker webContainerTracker;
private String alias;
public BundleContext getBundleContext() {
return bundleContext;
@@ -58,24 +67,18 @@ public class ServletReregistrationService {
this.bundleContext = bundleContext;
}
public ServiceReference getServletReference() {
return servletReference;
}
public void setServletReference(ServiceReference servletReference) {
this.servletReference = servletReference;
}
protected ServiceTracker getWebContainerTracker() {
return webContainerTracker;
}
public void start() {
if (servletReference == null) {
throw new IllegalStateException("No servlet reference provided");
if ( managedServiceReference == null) {
return;
}
Dictionary properties = obtainProperties();
alias = (String)getProp(properties, CXF_SERVLET_PREFIX + "context", "/cxf");
if(alias == null){
alias = "/cxf";
}
final Servlet servlet = (Servlet) bundleContext.getService(servletReference);
WebContainer externalWebContainer = findExternalWebContainer();
if (externalWebContainer == null) {
return;
@@ -83,18 +86,19 @@ public class ServletReregistrationService {
// Unregister servlet from external container now
try {
externalWebContainer.unregisterServlet(servlet);
externalWebContainer.unregister(alias);
log.debug("Original servlet with alias " + getAlias() + " unregistered successfully from external web container.");
} catch (IllegalStateException e) {
log.warn("Can't unregister servlet due to: " + e.getMessage());
}
final Dictionary finalProperties = properties;
ServiceTrackerCustomizer trackerCustomizer = new ServiceTrackerCustomizer() {
@Override
public Object addingService(ServiceReference webContainerServiceReference) {
WebContainer ourWebContainer = (WebContainer) bundleContext.getService(webContainerServiceReference);
registerServlet(ourWebContainer, servlet);
registerServlet(ourWebContainer, finalProperties);
log.debugv("Servlet with alias " + getAlias() + " registered to secured web container");
return ourWebContainer;
}
@@ -122,28 +126,82 @@ public class ServletReregistrationService {
// Re-register servlet back to original context
WebContainer externalWebContainer = findExternalWebContainer();
Servlet servlet = (Servlet) bundleContext.getService(servletReference);
registerServlet(externalWebContainer, servlet);
registerServlet(externalWebContainer, obtainProperties());
log.debug("Servlet with alias " + getAlias() + " registered back to external web container");
}
private String getAlias() {
return (String) servletReference.getProperty("alias");
return alias;
}
protected void registerServlet(WebContainer webContainer, Servlet servlet) {
/**
* Code comes from org.apache.cxf.transport.http.osgi.ServletExporter#updated(java.util.Dictionary)
* @param webContainer
* @param properties
*/
protected void registerServlet(WebContainer webContainer, Dictionary properties) {
HttpContext httpContext = webContainer.createDefaultHttpContext();
ServiceReference destinationServiceServiceReference = bundleContext.getServiceReference("org.apache.cxf.transport.http.DestinationRegistry");
DestinationRegistry destinationRegistry = (DestinationRegistry) bundleContext.getService(destinationServiceServiceReference);
Servlet servlet = new CXFNonSpringServlet(destinationRegistry, false);
try {
if (properties == null) {
properties = new Properties();
}
Properties sprops = new Properties();
sprops.put("init-prefix",
getProp(properties, CXF_SERVLET_PREFIX + "init-prefix", ""));
sprops.put("servlet-name",
getProp(properties, CXF_SERVLET_PREFIX + "name", "cxf-osgi-transport-servlet"));
sprops.put("hide-service-list-page",
getProp(properties, CXF_SERVLET_PREFIX + "hide-service-list-page", "false"));
sprops.put("disable-address-updates",
getProp(properties, CXF_SERVLET_PREFIX + "disable-address-updates", "true"));
sprops.put("base-address",
getProp(properties, CXF_SERVLET_PREFIX + "base-address", ""));
sprops.put("service-list-path",
getProp(properties, CXF_SERVLET_PREFIX + "service-list-path", ""));
sprops.put("static-resources-list",
getProp(properties, CXF_SERVLET_PREFIX + "static-resources-list", ""));
sprops.put("redirects-list",
getProp(properties, CXF_SERVLET_PREFIX + "redirects-list", ""));
sprops.put("redirect-servlet-name",
getProp(properties, CXF_SERVLET_PREFIX + "redirect-servlet-name", ""));
sprops.put("redirect-servlet-path",
getProp(properties, CXF_SERVLET_PREFIX + "redirect-servlet-path", ""));
sprops.put("service-list-all-contexts",
getProp(properties, CXF_SERVLET_PREFIX + "service-list-all-contexts", ""));
sprops.put("service-list-page-authenticate",
getProp(properties, CXF_SERVLET_PREFIX + "service-list-page-authenticate", "false"));
sprops.put("service-list-page-authenticate-realm",
getProp(properties, CXF_SERVLET_PREFIX + "service-list-page-authenticate-realm", "karaf"));
sprops.put("use-x-forwarded-headers",
getProp(properties, CXF_SERVLET_PREFIX + "use-x-forwarded-headers", "false"));
// Accept extra properties by default, can be disabled if it is really needed
if (Boolean.valueOf(getProp(properties, CXF_SERVLET_PREFIX + "support.extra.properties", "true").toString())) {
Enumeration keys = properties.keys();
while (keys.hasMoreElements()) {
String nextKey = keys.nextElement().toString();
if (!nextKey.startsWith(CXF_SERVLET_PREFIX)) {
sprops.put(nextKey, properties.get(nextKey));
}
}
}
Hashtable<String, Object> servletInitParams = new Hashtable<String, Object>();
String[] propNames = servletReference.getPropertyKeys();
for (String propName : propNames) {
Enumeration keys = sprops.keys();
while(keys.hasMoreElements()){
String propName = (String) keys.nextElement();
if (!FILTERED_PROPERTIES.contains(propName)) {
servletInitParams.put(propName, servletReference.getProperty(propName));
servletInitParams.put(propName, sprops.getProperty(propName));
}
}
// Try to register servlet in given web container now
HttpContext httpContext = webContainer.createDefaultHttpContext();
String alias = (String) servletReference.getProperty("alias");
webContainer.registerServlet(alias, servlet, servletInitParams, httpContext);
} catch (Exception e) {
log.error("Can't register servlet in web container", e);
@@ -156,7 +214,7 @@ public class ServletReregistrationService {
* @return web container or null
*/
protected WebContainer findExternalWebContainer() {
BundleContext servletBundleContext = servletReference.getBundle().getBundleContext();
BundleContext servletBundleContext = managedServiceReference.getBundle().getBundleContext();
ServiceReference webContainerReference = servletBundleContext.getServiceReference(WebContainer.class.getName());
if (webContainerReference == null) {
log.warn("Not found webContainer reference for bundle " + servletBundleContext);
@@ -166,4 +224,32 @@ public class ServletReregistrationService {
}
}
private Dictionary obtainProperties(){
Dictionary properties = null;
ServiceReference reference = bundleContext.getServiceReference(ConfigurationAdmin.class.getName());
ConfigurationAdmin admin = (ConfigurationAdmin) bundleContext.getService(reference);
try {
Configuration configuration = admin.getConfiguration("org.apache.cxf.osgi");
properties = configuration.getProperties();
} catch (Exception e){
log.warn("Unable to obtain cxf osgi configadmin reference.", e);
}
return properties;
}
private Object getProp(Dictionary properties, String key, Object defaultValue) {
Object value = null;
if(properties != null){
value = properties.get(key);
}
return value == null ? defaultValue : value;
}
public ServiceReference getManagedServiceReference() {
return managedServiceReference;
}
public void setManagedServiceReference(ServiceReference managedServiceReference) {
this.managedServiceReference = managedServiceReference;
}
}
+1 -1
View File
@@ -20,7 +20,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<name>Keycloak OIDC Client Adapter Modules</name>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -51,10 +51,16 @@ public class OIDCFilterSessionStore extends FilterSessionStore implements Adapte
}
public HttpServletRequestWrapper buildWrapper() {
HttpSession session = request.getSession();
KeycloakAccount account = (KeycloakAccount)session.getAttribute(KeycloakAccount.class.getName());
HttpSession session = request.getSession(false);
KeycloakAccount account = null;
if (session != null) {
account = (KeycloakAccount) session.getAttribute(KeycloakAccount.class.getName());
if (account == null) {
account = (KeycloakAccount) request.getAttribute(KeycloakAccount.class.getName());
}
}
if (account == null) {
account = (KeycloakAccount)request.getAttribute(KeycloakAccount.class.getName());
account = (KeycloakAccount) request.getAttribute(KeycloakAccount.class.getName());
}
return buildWrapper(session, account);
}
@@ -89,6 +95,7 @@ public class OIDCFilterSessionStore extends FilterSessionStore implements Adapte
protected void cleanSession(HttpSession session) {
session.removeAttribute(KeycloakAccount.class.getName());
session.removeAttribute(KeycloakSecurityContext.class.getName());
clearSavedRequest(session);
}
@@ -160,6 +167,7 @@ public class OIDCFilterSessionStore extends FilterSessionStore implements Adapte
SerializableKeycloakAccount sAccount = new SerializableKeycloakAccount(roles, account.getPrincipal(), securityContext);
HttpSession httpSession = request.getSession();
httpSession.setAttribute(KeycloakAccount.class.getName(), sAccount);
httpSession.setAttribute(KeycloakSecurityContext.class.getName(), sAccount.getKeycloakSecurityContext());
if (idMapper != null) idMapper.map(account.getKeycloakSecurityContext().getToken().getClientSession(), account.getPrincipal().getName(), httpSession.getId());
//String username = securityContext.getToken().getSubject();
//log.fine("userSessionManagement.login: " + username);
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -33,7 +33,7 @@ public class ServletOAuthClientBuilderTest {
public void testBuilder() {
ServletOAuthClient oauthClient = ServletOAuthClientBuilder.build(getClass().getResourceAsStream("/keycloak.json"));
Assert.assertEquals("https://localhost:8443/auth/realms/demo/protocol/openid-connect/auth", oauthClient.getDeployment().getAuthUrl().clone().build().toString());
Assert.assertEquals("https://backend:8443/auth/realms/demo/protocol/openid-connect/token", oauthClient.getDeployment().getTokenUrl());
Assert.assertEquals("https://localhost:8443/auth/realms/demo/protocol/openid-connect/token", oauthClient.getDeployment().getTokenUrl());
assertEquals(RelativeUrlsUsed.NEVER, oauthClient.getRelativeUrlsUsed());
Assert.assertEquals("customer-portal", oauthClient.getClientId());
Assert.assertEquals("234234-234234-234234", oauthClient.getCredentials().get(CredentialRepresentation.SECRET));
@@ -19,7 +19,6 @@
"connection-pool-size": 20,
"disable-trust-manager": true,
"allow-any-hostname": true,
"auth-server-url-for-backend-requests": "https://backend:8443/auth",
"always-refresh-token": true,
"register-node-at-startup": true,
"register-node-period": 1000,
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -20,7 +20,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<name>Keycloak Tomcat Integration</name>
+2 -2
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-tomcat-integration-pom</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -45,7 +45,7 @@
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
</dependency>
<dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-spi</artifactId>
</dependency>
@@ -69,12 +69,22 @@ public class CatalinaSessionTokenStore extends CatalinaAdapterSessionStore imple
// just in case session got serialized
if (session.getDeployment() == null) session.setCurrentRequestInfo(deployment, this);
if (session.isActive() && !session.getDeployment().isAlwaysRefreshToken()) return;
if (session.isActive() && !session.getDeployment().isAlwaysRefreshToken()) {
request.setAttribute(KeycloakSecurityContext.class.getName(), session);
request.setUserPrincipal(account.getPrincipal());
request.setAuthType("KEYCLOAK");
return;
}
// FYI: A refresh requires same scope, so same roles will be set. Otherwise, refresh will fail and token will
// not be updated
boolean success = session.refreshExpiredToken(false);
if (success && session.isActive()) return;
if (success && session.isActive()) {
request.setAttribute(KeycloakSecurityContext.class.getName(), session);
request.setUserPrincipal(account.getPrincipal());
request.setAuthType("KEYCLOAK");
return;
}
// Refresh failed, so user is already logged out from keycloak. Cleanup and expire our session
log.fine("Cleanup and expire session " + catalinaSession.getId() + " after failed refresh");
@@ -85,6 +95,8 @@ public class CatalinaSessionTokenStore extends CatalinaAdapterSessionStore imple
}
protected void cleanSession(Session catalinaSession) {
catalinaSession.getSession().removeAttribute(KeycloakSecurityContext.class.getName());
catalinaSession.getSession().removeAttribute(SerializableKeycloakAccount.class.getName());
catalinaSession.getSession().removeAttribute(OidcKeycloakAccount.class.getName());
catalinaSession.setPrincipal(null);
catalinaSession.setAuthType(null);
@@ -164,6 +176,7 @@ public class CatalinaSessionTokenStore extends CatalinaAdapterSessionStore imple
session.setPrincipal(principal);
session.setAuthType("KEYCLOAK");
session.getSession().setAttribute(SerializableKeycloakAccount.class.getName(), sAccount);
session.getSession().setAttribute(KeycloakSecurityContext.class.getName(), account.getKeycloakSecurityContext());
String username = securityContext.getToken().getSubject();
log.fine("userSessionManagement.login: " + username);
this.sessionManagement.login(session);
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-tomcat-integration-pom</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-tomcat-integration-pom</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-tomcat-integration-pom</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -92,7 +92,8 @@ public class ServletSessionTokenStore implements AdapterTokenStore {
} else {
log.debug("Refresh failed. Account was not active. Returning null and invalidating Http session");
try {
session.setAttribute(KeycloakUndertowAccount.class.getName(), null);
session.removeAttribute(KeycloakUndertowAccount.class.getName());
session.removeAttribute(KeycloakSecurityContext.class.getName());
session.invalidate();
} catch (Exception e) {
log.debug("Failed to invalidate session, might already be invalidated");
@@ -106,6 +107,7 @@ public class ServletSessionTokenStore implements AdapterTokenStore {
final ServletRequestContext servletRequestContext = exchange.getAttachment(ServletRequestContext.ATTACHMENT_KEY);
HttpSession session = getSession(true);
session.setAttribute(KeycloakUndertowAccount.class.getName(), account);
session.setAttribute(KeycloakSecurityContext.class.getName(), account.getKeycloakSecurityContext());
sessionManagement.login(servletRequestContext.getDeployment().getSessionManager());
}
@@ -22,6 +22,7 @@ import io.undertow.server.HttpServerExchange;
import io.undertow.server.session.Session;
import io.undertow.util.Sessions;
import org.jboss.logging.Logger;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.AdapterTokenStore;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.OidcKeycloakAccount;
@@ -82,6 +83,7 @@ public class UndertowSessionTokenStore implements AdapterTokenStore {
} else {
log.debug("Account was not active, returning false");
session.removeAttribute(KeycloakUndertowAccount.class.getName());
session.removeAttribute(KeycloakSecurityContext.class.getName());
session.invalidate(exchange);
return false;
}
@@ -101,6 +103,7 @@ public class UndertowSessionTokenStore implements AdapterTokenStore {
public void saveAccountInfo(OidcKeycloakAccount account) {
Session session = Sessions.getOrCreateSession(exchange);
session.setAttribute(KeycloakUndertowAccount.class.getName(), account);
session.setAttribute(KeycloakSecurityContext.class.getName(), account.getKeycloakSecurityContext());
sessionManagement.login(session.getSessionManager());
}
@@ -111,6 +114,7 @@ public class UndertowSessionTokenStore implements AdapterTokenStore {
KeycloakUndertowAccount account = (KeycloakUndertowAccount)session.getAttribute(KeycloakUndertowAccount.class.getName());
if (account == null) return;
session.removeAttribute(KeycloakUndertowAccount.class.getName());
session.removeAttribute(KeycloakSecurityContext.class.getName());
}
@Override
+1 -1
View File
@@ -20,7 +20,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<name>Keycloak WildFly Integration</name>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-parent</artifactId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -21,7 +21,7 @@
<parent>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-parent</artifactId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
+1 -1
View File
@@ -20,7 +20,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<name>Keycloak Integration</name>
+5 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-saml-eap-integration-pom</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -43,6 +43,10 @@
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-spi</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-api-public</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-core</artifactId>
+1 -1
View File
@@ -20,7 +20,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<name>Keycloak SAML EAP Integration</name>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-eap-integration-pom</artifactId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
@@ -45,6 +45,7 @@ public class Constants {
static final String KEY_STORE = "KeyStore";
static final String SIGN_REQUEST = "signRequest";
static final String VALIDATE_RESPONSE_SIGNATURE = "validateResponseSignature";
static final String VALIDATE_ASSERTION_SIGNATURE = "validateAssertionSignature";
static final String REQUEST_BINDING = "requestBinding";
static final String BINDING_URL = "bindingUrl";
static final String VALIDATE_REQUEST_SIGNATURE = "validateRequestSignature";
@@ -97,6 +98,7 @@ public class Constants {
static final String CERTIFICATE_ALIAS = "alias";
static final String SIGN_REQUEST = "signRequest";
static final String VALIDATE_RESPONSE_SIGNATURE = "validateResponseSignature";
static final String VALIDATE_ASSERTION_SIGNATURE = "validateAssertionSignature";
static final String REQUEST_BINDING = "requestBinding";
static final String BINDING_URL = "bindingUrl";
static final String VALIDATE_REQUEST_SIGNATURE = "validateRequestSignature";
@@ -39,6 +39,7 @@ public abstract class KeycloakDependencyProcessor implements DeploymentUnitProce
private static final ModuleIdentifier KEYCLOAK_JBOSS_CORE_ADAPTER = ModuleIdentifier.create("org.keycloak.keycloak-jboss-adapter-core");
private static final ModuleIdentifier KEYCLOAK_CORE_ADAPTER = ModuleIdentifier.create("org.keycloak.keycloak-saml-adapter-core");
private static final ModuleIdentifier KEYCLOAK_API_ADAPTER = ModuleIdentifier.create("org.keycloak.keycloak-saml-adapter-api-public");
private static final ModuleIdentifier KEYCLOAK_COMMON = ModuleIdentifier.create("org.keycloak.keycloak-common");
@Override
@@ -70,6 +71,7 @@ public abstract class KeycloakDependencyProcessor implements DeploymentUnitProce
private void addCommonModules(ModuleSpecification moduleSpecification, ModuleLoader moduleLoader) {
// ModuleDependency(ModuleLoader moduleLoader, ModuleIdentifier identifier, boolean optional, boolean export, boolean importServices, boolean userSpecified)
moduleSpecification.addSystemDependency(new ModuleDependency(moduleLoader, KEYCLOAK_JBOSS_CORE_ADAPTER, false, false, false, false));
moduleSpecification.addSystemDependency(new ModuleDependency(moduleLoader, KEYCLOAK_API_ADAPTER, false, false, false, false));
moduleSpecification.addSystemDependency(new ModuleDependency(moduleLoader, KEYCLOAK_CORE_ADAPTER, false, false, false, false));
moduleSpecification.addSystemDependency(new ModuleDependency(moduleLoader, KEYCLOAK_COMMON, false, false, false, false));
}
@@ -37,6 +37,11 @@ abstract class SingleSignOnDefinition {
.setXmlName(Constants.XML.VALIDATE_RESPONSE_SIGNATURE)
.build();
static final SimpleAttributeDefinition VALIDATE_ASSERTION_SIGNATURE =
new SimpleAttributeDefinitionBuilder(Constants.Model.VALIDATE_ASSERTION_SIGNATURE, ModelType.BOOLEAN, true)
.setXmlName(Constants.XML.VALIDATE_ASSERTION_SIGNATURE)
.build();
static final SimpleAttributeDefinition REQUEST_BINDING =
new SimpleAttributeDefinitionBuilder(Constants.Model.REQUEST_BINDING, ModelType.STRING, true)
.setXmlName(Constants.XML.REQUEST_BINDING)
@@ -52,7 +57,7 @@ abstract class SingleSignOnDefinition {
.setXmlName(Constants.XML.BINDING_URL)
.build();
static final SimpleAttributeDefinition[] ATTRIBUTES = {SIGN_REQUEST, VALIDATE_RESPONSE_SIGNATURE, REQUEST_BINDING, RESPONSE_BINDING, BINDING_URL};
static final SimpleAttributeDefinition[] ATTRIBUTES = {SIGN_REQUEST, VALIDATE_RESPONSE_SIGNATURE, VALIDATE_ASSERTION_SIGNATURE, REQUEST_BINDING, RESPONSE_BINDING, BINDING_URL};
static final HashMap<String, SimpleAttributeDefinition> ATTRIBUTE_MAP = new HashMap<>();
@@ -67,6 +67,7 @@ keycloak-saml.IDP.signatureCanonicalizationMethod=Signature canonicalization met
keycloak-saml.IDP.SingleSignOnService=Single sign-on configuration
keycloak-saml.IDP.SingleSignOnService.signRequest=Sign SSO requests
keycloak-saml.IDP.SingleSignOnService.validateResponseSignature=Validate an SSO response signature
keycloak-saml.IDP.SingleSignOnService.validateAssertionSignature=Validate an SSO assertion signature
keycloak-saml.IDP.SingleSignOnService.requestBinding=HTTP method to use for requests
keycloak-saml.IDP.SingleSignOnService.responseBinding=HTTP method to use for responses
keycloak-saml.IDP.SingleSignOnService.bindingUrl=SSO endpoint URL
@@ -132,6 +132,11 @@
<xs:documentation>Validate the SSO response signature</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="validateAssertionSignature" type="xs:boolean" use="optional">
<xs:annotation>
<xs:documentation>Validate the SSO assertion signature</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="requestBinding" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>HTTP method to use for requests</xs:documentation>
@@ -42,6 +42,7 @@
<IDP entityID="idp">
<SingleSignOnService signRequest="true"
validateResponseSignature="true"
validateAssertionSignature="true"
requestBinding="POST"
bindingUrl="http://localhost:8080/auth/realms/saml-demo/protocol/saml"/>
<SingleLogoutService
+82
View File
@@ -0,0 +1,82 @@
<?xml version="1.0"?>
<!--
~ Copyright 2016 Red Hat, Inc. and/or its affiliates
~ and other contributors as indicated by the @author tags.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>keycloak-saml-adapter-api-public</artifactId>
<name>Keycloak SAML Client Adapter Public API</name>
<description/>
<properties>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
</properties>
<dependencies>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-core-public</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-core</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-spi</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-common</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
@@ -19,7 +19,6 @@ package org.keycloak.adapters.saml;
import org.keycloak.adapters.spi.AuthenticationError;
import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
import org.keycloak.dom.saml.v2.protocol.StatusType;
/**
* Object that describes the SAML error that happened.
+11 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -35,6 +35,11 @@
<maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
</properties>
<dependencies>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-core-public</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-core</artifactId>
@@ -45,6 +50,11 @@
<artifactId>keycloak-adapter-spi</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-api-public</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-common</artifactId>
@@ -26,7 +26,6 @@ import org.keycloak.saml.SAML2NameIDPolicyBuilder;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
import org.keycloak.saml.common.exceptions.ConfigurationException;
import org.keycloak.saml.common.exceptions.ProcessingException;
import org.w3c.dom.Document;
import java.io.IOException;
import java.security.KeyPair;
@@ -54,45 +53,8 @@ public abstract class AbstractInitiateLogin implements AuthChallenge {
@Override
public boolean challenge(HttpFacade httpFacade) {
try {
String issuerURL = deployment.getEntityID();
String nameIDPolicyFormat = deployment.getNameIDPolicyFormat();
if (nameIDPolicyFormat == null) {
nameIDPolicyFormat = JBossSAMLURIConstants.NAMEID_FORMAT_PERSISTENT.get();
}
SAML2AuthnRequestBuilder authnRequestBuilder = new SAML2AuthnRequestBuilder()
.destination(deployment.getIDP().getSingleSignOnService().getRequestBindingUrl())
.issuer(issuerURL)
.forceAuthn(deployment.isForceAuthentication()).isPassive(deployment.isIsPassive())
.nameIdPolicy(SAML2NameIDPolicyBuilder.format(nameIDPolicyFormat));
if (deployment.getIDP().getSingleSignOnService().getResponseBinding() != null) {
String protocolBinding = JBossSAMLURIConstants.SAML_HTTP_REDIRECT_BINDING.get();
if (deployment.getIDP().getSingleSignOnService().getResponseBinding() == SamlDeployment.Binding.POST) {
protocolBinding = JBossSAMLURIConstants.SAML_HTTP_POST_BINDING.get();
}
authnRequestBuilder.protocolBinding(protocolBinding);
}
if (deployment.getAssertionConsumerServiceUrl() != null) {
authnRequestBuilder.assertionConsumerUrl(deployment.getAssertionConsumerServiceUrl());
}
BaseSAML2BindingBuilder binding = new BaseSAML2BindingBuilder();
if (deployment.getIDP().getSingleSignOnService().signRequest()) {
KeyPair keypair = deployment.getSigningKeyPair();
if (keypair == null) {
throw new RuntimeException("Signing keys not configured");
}
if (deployment.getSignatureCanonicalizationMethod() != null) {
binding.canonicalizationMethod(deployment.getSignatureCanonicalizationMethod());
}
binding.signWith(keypair);
binding.signDocument();
}
SAML2AuthnRequestBuilder authnRequestBuilder = buildSaml2AuthnRequestBuilder(deployment);
BaseSAML2BindingBuilder binding = createSaml2Binding(deployment);
sessionStore.saveRequest();
sendAuthnRequest(httpFacade, authnRequestBuilder, binding);
@@ -103,6 +65,53 @@ public abstract class AbstractInitiateLogin implements AuthChallenge {
return true;
}
public static BaseSAML2BindingBuilder createSaml2Binding(SamlDeployment deployment) {
BaseSAML2BindingBuilder binding = new BaseSAML2BindingBuilder();
if (deployment.getIDP().getSingleSignOnService().signRequest()) {
binding.signatureAlgorithm(deployment.getSignatureAlgorithm());
KeyPair keypair = deployment.getSigningKeyPair();
if (keypair == null) {
throw new RuntimeException("Signing keys not configured");
}
if (deployment.getSignatureCanonicalizationMethod() != null) {
binding.canonicalizationMethod(deployment.getSignatureCanonicalizationMethod());
}
binding.signWith(keypair);
binding.signDocument();
}
return binding;
}
public static SAML2AuthnRequestBuilder buildSaml2AuthnRequestBuilder(SamlDeployment deployment) {
String issuerURL = deployment.getEntityID();
String nameIDPolicyFormat = deployment.getNameIDPolicyFormat();
if (nameIDPolicyFormat == null) {
nameIDPolicyFormat = JBossSAMLURIConstants.NAMEID_FORMAT_PERSISTENT.get();
}
SAML2AuthnRequestBuilder authnRequestBuilder = new SAML2AuthnRequestBuilder()
.destination(deployment.getIDP().getSingleSignOnService().getRequestBindingUrl())
.issuer(issuerURL)
.forceAuthn(deployment.isForceAuthentication()).isPassive(deployment.isIsPassive())
.nameIdPolicy(SAML2NameIDPolicyBuilder.format(nameIDPolicyFormat));
if (deployment.getIDP().getSingleSignOnService().getResponseBinding() != null) {
String protocolBinding = JBossSAMLURIConstants.SAML_HTTP_REDIRECT_BINDING.get();
if (deployment.getIDP().getSingleSignOnService().getResponseBinding() == SamlDeployment.Binding.POST) {
protocolBinding = JBossSAMLURIConstants.SAML_HTTP_POST_BINDING.get();
}
authnRequestBuilder.protocolBinding(protocolBinding);
}
if (deployment.getAssertionConsumerServiceUrl() != null) {
authnRequestBuilder.assertionConsumerUrl(deployment.getAssertionConsumerServiceUrl());
}
return authnRequestBuilder;
}
protected abstract void sendAuthnRequest(HttpFacade httpFacade, SAML2AuthnRequestBuilder authnRequestBuilder, BaseSAML2BindingBuilder binding) throws ProcessingException, ConfigurationException, IOException;
}
@@ -34,6 +34,7 @@ public class DefaultSamlDeployment implements SamlDeployment {
public static class DefaultSingleSignOnService implements IDP.SingleSignOnService {
private boolean signRequest;
private boolean validateResponseSignature;
private boolean validateAssertionSignature;
private Binding requestBinding;
private Binding responseBinding;
private String requestBindingUrl;
@@ -48,6 +49,11 @@ public class DefaultSamlDeployment implements SamlDeployment {
return validateResponseSignature;
}
@Override
public boolean validateAssertionSignature() {
return validateAssertionSignature;
}
@Override
public Binding getRequestBinding() {
return requestBinding;
@@ -71,6 +77,10 @@ public class DefaultSamlDeployment implements SamlDeployment {
this.validateResponseSignature = validateResponseSignature;
}
public void setValidateAssertionSignature(boolean validateAssertionSignature) {
this.validateAssertionSignature = validateAssertionSignature;
}
public void setRequestBinding(Binding requestBinding) {
this.requestBinding = requestBinding;
}
@@ -50,6 +50,7 @@ public interface SamlDeployment {
public interface SingleSignOnService {
boolean signRequest();
boolean validateResponseSignature();
boolean validateAssertionSignature();
Binding getRequestBinding();
Binding getResponseBinding();
String getRequestBindingUrl();
@@ -18,8 +18,6 @@
package org.keycloak.adapters.saml;
import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
import org.keycloak.dom.saml.v2.protocol.StatusType;
import java.util.List;
@@ -33,6 +33,7 @@ public class IDP implements Serializable {
private String requestBinding;
private String responseBinding;
private String bindingUrl;
private boolean validateAssertionSignature;
public boolean isSignRequest() {
return signRequest;
@@ -50,6 +51,14 @@ public class IDP implements Serializable {
this.validateResponseSignature = validateResponseSignature;
}
public boolean isValidateAssertionSignature() {
return validateAssertionSignature;
}
public void setValidateAssertionSignature(boolean validateAssertionSignature) {
this.validateAssertionSignature = validateAssertionSignature;
}
public String getRequestBinding() {
return requestBinding;
}
@@ -68,6 +68,7 @@ public class ConfigXmlConstants {
public static final String RESPONSE_BINDING_ATTR = "responseBinding";
public static final String BINDING_URL_ATTR = "bindingUrl";
public static final String VALIDATE_RESPONSE_SIGNATURE_ATTR = "validateResponseSignature";
public static final String VALIDATE_ASSERTION_SIGNATURE_ATTR = "validateAssertionSignature";
public static final String VALIDATE_REQUEST_SIGNATURE_ATTR = "validateRequestSignature";
public static final String POST_BINDING_URL_ATTR = "postBindingUrl";
public static final String REDIRECT_BINDING_URL_ATTR = "redirectBindingUrl";
@@ -149,6 +149,7 @@ public class DeploymentBuilder {
}
sso.setSignRequest(sp.getIdp().getSingleSignOnService().isSignRequest());
sso.setValidateResponseSignature(sp.getIdp().getSingleSignOnService().isValidateResponseSignature());
sso.setValidateAssertionSignature(sp.getIdp().getSingleSignOnService().isValidateAssertionSignature());
slo.setSignRequest(sp.getIdp().getSingleLogoutService().isSignRequest());
slo.setSignResponse(sp.getIdp().getSingleLogoutService().isSignResponse());
@@ -106,6 +106,7 @@ public class IDPXmlParser extends AbstractParser {
StartElement element = StaxParserUtil.getNextStartElement(xmlEventReader);
sso.setSignRequest(SPXmlParser.getBooleanAttributeValue(element, ConfigXmlConstants.SIGN_REQUEST_ATTR, signaturesRequired));
sso.setValidateResponseSignature(SPXmlParser.getBooleanAttributeValue(element, ConfigXmlConstants.VALIDATE_RESPONSE_SIGNATURE_ATTR, signaturesRequired));
sso.setValidateAssertionSignature(SPXmlParser.getBooleanAttributeValue(element, ConfigXmlConstants.VALIDATE_ASSERTION_SIGNATURE_ATTR));
sso.setRequestBinding(SPXmlParser.getAttributeValue(element, ConfigXmlConstants.REQUEST_BINDING_ATTR));
sso.setResponseBinding(SPXmlParser.getAttributeValue(element, ConfigXmlConstants.RESPONSE_BINDING_ATTR));
sso.setBindingUrl(SPXmlParser.getAttributeValue(element, ConfigXmlConstants.BINDING_URL_ATTR));
@@ -25,7 +25,6 @@ import org.keycloak.saml.common.util.StaxParserUtil;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.StartElement;
/**
@@ -18,7 +18,6 @@
package org.keycloak.adapters.saml.config.parsers;
import org.keycloak.adapters.saml.config.Key;
import org.keycloak.adapters.saml.config.SP;
import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.parsers.AbstractParser;
import org.keycloak.saml.common.util.StaxParserUtil;
@@ -201,7 +201,7 @@ public abstract class AbstractSamlAuthenticationHandler implements SamlAuthentic
return AuthOutcome.FAILED;
}
}
return handleLoginResponse((ResponseType) statusResponse, onCreateSession);
return handleLoginResponse((ResponseType) statusResponse, postBinding, onCreateSession);
} finally {
sessionStore.setCurrentAction(SamlSessionStore.CurrentAction.NONE);
}
@@ -272,8 +272,7 @@ public abstract class AbstractSamlAuthenticationHandler implements SamlAuthentic
return false;
}
protected AuthOutcome handleLoginResponse(ResponseType responseType, OnSessionCreated onCreateSession) {
protected AuthOutcome handleLoginResponse(ResponseType responseType, boolean postBinding, OnSessionCreated onCreateSession) {
AssertionType assertion = null;
try {
assertion = AssertionUtil.getAssertion(responseType, deployment.getDecryptionKey());
@@ -298,6 +297,32 @@ public abstract class AbstractSamlAuthenticationHandler implements SamlAuthentic
};
}
if (deployment.getIDP().getSingleSignOnService().validateAssertionSignature()) {
try {
validateSamlSignature(new SAMLDocumentHolder(AssertionUtil.asDocument(assertion)), postBinding, GeneralConstants.SAML_RESPONSE_KEY);
} catch (VerificationException e) {
log.error("Failed to verify saml assertion signature", e);
challenge = new AuthChallenge() {
@Override
public boolean challenge(HttpFacade exchange) {
SamlAuthenticationError error = new SamlAuthenticationError(SamlAuthenticationError.Reason.INVALID_SIGNATURE);
exchange.getRequest().setError(error);
exchange.getResponse().sendError(403);
return true;
}
@Override
public int getResponseCode() {
return 403;
}
};
return AuthOutcome.FAILED;
} catch (ProcessingException e) {
e.printStackTrace();
}
}
SubjectType subject = assertion.getSubject();
SubjectType.STSubType subType = subject.getSubType();
NameIDType subjectNameID = (NameIDType) subType.getBaseID();
@@ -23,7 +23,6 @@ import org.keycloak.adapters.saml.SamlSessionStore;
import org.keycloak.adapters.saml.profile.SamlInvocationContext;
import org.keycloak.adapters.spi.AuthOutcome;
import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.saml.common.constants.GeneralConstants;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
@@ -20,7 +20,6 @@ package org.keycloak.adapters.saml.profile.webbrowsersso;
import org.keycloak.adapters.saml.OnSessionCreated;
import org.keycloak.adapters.saml.SamlDeployment;
import org.keycloak.adapters.saml.SamlSessionStore;
import org.keycloak.adapters.saml.profile.SamlInvocationContext;
import org.keycloak.adapters.spi.AuthOutcome;
import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.saml.common.constants.GeneralConstants;
@@ -79,11 +79,11 @@ public class WebBrowserSsoAuthenticationHandler extends AbstractSamlAuthenticati
builder.issuer(issuerURL);
BaseSAML2BindingBuilder binding = new BaseSAML2BindingBuilder().relayState(relayState);
if (deployment.getIDP().getSingleLogoutService().signResponse()) {
if (deployment.getSignatureCanonicalizationMethod() != null)
binding.canonicalizationMethod(deployment.getSignatureCanonicalizationMethod());
binding.signatureAlgorithm(deployment.getSignatureAlgorithm())
.signWith(deployment.getSigningKeyPair())
.signDocument();
if (deployment.getSignatureCanonicalizationMethod() != null)
binding.canonicalizationMethod(deployment.getSignatureCanonicalizationMethod());
}
@@ -110,6 +110,9 @@ public class WebBrowserSsoAuthenticationHandler extends AbstractSamlAuthenticati
.destination(deployment.getIDP().getSingleLogoutService().getRequestBindingUrl());
BaseSAML2BindingBuilder binding = new BaseSAML2BindingBuilder();
if (deployment.getIDP().getSingleLogoutService().signRequest()) {
if (deployment.getSignatureCanonicalizationMethod() != null)
binding.canonicalizationMethod(deployment.getSignatureCanonicalizationMethod());
binding.signatureAlgorithm(deployment.getSignatureAlgorithm());
binding.signWith(deployment.getSigningKeyPair())
.signDocument();
}
@@ -112,6 +112,7 @@
<xs:complexType name="sign-on-type">
<xs:attribute name="signRequest" type="xs:boolean" use="optional"/>
<xs:attribute name="validateResponseSignature" type="xs:boolean" use="optional"/>
<xs:attribute name="validateAssertionSignature" type="xs:boolean" use="optional"/>
<xs:attribute name="requestBinding" type="xs:string" use="optional"/>
<xs:attribute name="responseBinding" type="xs:string" use="optional"/>
<xs:attribute name="bindingUrl" type="xs:string" use="optional"/>
+5 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -60,6 +60,10 @@
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-core</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-api-public</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-core</artifactId>
@@ -18,6 +18,8 @@
package org.keycloak.adapters.saml.jetty;
import org.eclipse.jetty.security.DefaultUserIdentity;
import org.eclipse.jetty.security.IdentityService;
import org.eclipse.jetty.security.LoginService;
import org.eclipse.jetty.security.ServerAuthException;
import org.eclipse.jetty.security.UserAuthentication;
import org.eclipse.jetty.security.authentication.DeferredAuthentication;
@@ -25,10 +27,8 @@ import org.eclipse.jetty.security.authentication.FormAuthenticator;
import org.eclipse.jetty.security.authentication.LoginAuthenticator;
import org.eclipse.jetty.server.Authentication;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Response;
import org.eclipse.jetty.server.UserIdentity;
import org.eclipse.jetty.server.handler.ContextHandler;
import org.eclipse.jetty.util.URIUtil;
import org.jboss.logging.Logger;
import org.keycloak.adapters.saml.SamlSessionStore;
import org.keycloak.adapters.saml.profile.SamlAuthenticationHandler;
@@ -135,12 +135,46 @@ public abstract class AbstractSamlAuthenticator extends LoginAuthenticator {
}
private class DummyLoginService implements LoginService {
@Override
public String getName() {
return null;
}
@Override
public UserIdentity login(String username, Object credentials) {
return null;
}
@Override
public boolean validate(UserIdentity user) {
return false;
}
@Override
public IdentityService getIdentityService() {
return null;
}
@Override
public void setIdentityService(IdentityService service) {
}
@Override
public void logout(UserIdentity user) {
}
}
@Override
public void setConfiguration(AuthConfiguration configuration) {
//super.setConfiguration(configuration);
initializeKeycloak();
// need this so that getUserPrincipal does not throw NPE
_loginService = new DummyLoginService();
String error = configuration.getInitParameter(FormAuthenticator.__FORM_ERROR_PAGE);
setErrorPage(error);
}
@@ -28,7 +28,6 @@ import org.keycloak.adapters.jetty.spi.JettyUserSessionManagement;
import org.keycloak.adapters.saml.SamlSession;
import org.keycloak.adapters.saml.SamlSessionStore;
import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.dom.saml.v2.protocol.StatusType;
import javax.servlet.http.HttpSession;
+5 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -51,6 +51,10 @@
<groupId>org.keycloak</groupId>
<artifactId>keycloak-common</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-api-public</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-core</artifactId>
+5 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -52,6 +52,10 @@
<groupId>org.keycloak</groupId>
<artifactId>keycloak-common</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-api-public</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-core</artifactId>
+5 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -56,6 +56,10 @@
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-api-public</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-core</artifactId>
+1 -1
View File
@@ -20,7 +20,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<name>Keycloak SAML Jetty Integration</name>
+2 -1
View File
@@ -20,7 +20,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<name>Keycloak SAML Client Adapter Modules</name>
@@ -31,6 +31,7 @@
<packaging>pom</packaging>
<modules>
<module>core-public</module>
<module>core</module>
<module>undertow</module>
<module>tomcat</module>
+7 -3
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -39,7 +39,7 @@
<groupId>org.keycloak</groupId>
<artifactId>keycloak-common</artifactId>
</dependency>
<dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-spi</artifactId>
</dependency>
@@ -55,7 +55,11 @@
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-core</artifactId>
</dependency>
<dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-api-public</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-core</artifactId>
</dependency>
@@ -26,7 +26,6 @@ import org.keycloak.adapters.saml.SamlSession;
import org.keycloak.adapters.saml.SamlSessionStore;
import org.keycloak.adapters.servlet.FilterSessionStore;
import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.dom.saml.v2.protocol.StatusType;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
+1 -1
View File
@@ -20,7 +20,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<name>Keycloak SAML Tomcat Integration</name>
+7 -3
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-saml-tomcat-integration-pom</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -45,7 +45,7 @@
<groupId>org.keycloak</groupId>
<artifactId>keycloak-common</artifactId>
</dependency>
<dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-spi</artifactId>
</dependency>
@@ -65,7 +65,11 @@
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-core</artifactId>
</dependency>
<dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-api-public</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-core</artifactId>
</dependency>
@@ -167,9 +167,9 @@ public abstract class AbstractSamlAuthenticatorValve extends FormAuthenticator i
@Override
public void invoke(Request request, Response response) throws IOException, ServletException {
log.fine("*********************** SAML ************");
CatalinaHttpFacade facade = new CatalinaHttpFacade(response, request);
SamlDeployment deployment = deploymentContext.resolveDeployment(facade);
if (request.getRequestURI().substring(request.getContextPath().length()).endsWith("/saml")) {
CatalinaHttpFacade facade = new CatalinaHttpFacade(response, request);
SamlDeployment deployment = deploymentContext.resolveDeployment(facade);
if (deployment != null && deployment.isConfigured()) {
SamlSessionStore tokenStore = getSessionStore(request, facade, deployment);
SamlAuthenticator authenticator = new CatalinaSamlEndpoint(facade, deployment, tokenStore);
@@ -180,6 +180,7 @@ public abstract class AbstractSamlAuthenticatorValve extends FormAuthenticator i
}
try {
getSessionStore(request, facade, deployment).isLoggedIn(); // sets request UserPrincipal if logged in. we do this so that the UserPrincipal is available on unsecured, unconstrainted URLs
super.invoke(request, response);
} finally {
}
@@ -27,10 +27,7 @@ import org.keycloak.adapters.spi.SessionIdMapper;
import org.keycloak.adapters.tomcat.CatalinaUserSessionManagement;
import org.keycloak.adapters.tomcat.GenericPrincipalFactory;
import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
import org.keycloak.dom.saml.v2.protocol.StatusType;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.LinkedList;
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-saml-tomcat-integration-pom</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-saml-tomcat-integration-pom</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-saml-tomcat-integration-pom</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+6 -1
View File
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -52,6 +52,11 @@
<artifactId>keycloak-common</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-api-public</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-core</artifactId>
+1 -1
View File
@@ -20,7 +20,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
<name>Keycloak SAML Wildfly Integration</name>
@@ -21,7 +21,7 @@
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -45,6 +45,10 @@
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-spi</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-api-public</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-adapter-core</artifactId>
@@ -21,7 +21,7 @@
<parent>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-parent</artifactId>
<version>1.9.0.Final-SNAPSHOT</version>
<version>1.9.6.Final</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>
@@ -45,6 +45,7 @@ public class Constants {
static final String KEY_STORE = "KeyStore";
static final String SIGN_REQUEST = "signRequest";
static final String VALIDATE_RESPONSE_SIGNATURE = "validateResponseSignature";
static final String VALIDATE_ASSERTION_SIGNATURE = "validateAssertionSignature";
static final String REQUEST_BINDING = "requestBinding";
static final String BINDING_URL = "bindingUrl";
static final String VALIDATE_REQUEST_SIGNATURE = "validateRequestSignature";
@@ -97,6 +98,7 @@ public class Constants {
static final String CERTIFICATE_ALIAS = "alias";
static final String SIGN_REQUEST = "signRequest";
static final String VALIDATE_RESPONSE_SIGNATURE = "validateResponseSignature";
static final String VALIDATE_ASSERTION_SIGNATURE = "validateAssertionSignature";
static final String REQUEST_BINDING = "requestBinding";
static final String BINDING_URL = "bindingUrl";
static final String VALIDATE_REQUEST_SIGNATURE = "validateRequestSignature";
@@ -37,6 +37,7 @@ import org.jboss.modules.ModuleLoader;
public abstract class KeycloakDependencyProcessor implements DeploymentUnitProcessor {
private static final ModuleIdentifier KEYCLOAK_JBOSS_CORE_ADAPTER = ModuleIdentifier.create("org.keycloak.keycloak-jboss-adapter-core");
private static final ModuleIdentifier KEYCLOAK_API_ADAPTER = ModuleIdentifier.create("org.keycloak.keycloak-saml-adapter-api-public");
private static final ModuleIdentifier KEYCLOAK_CORE_ADAPTER = ModuleIdentifier.create("org.keycloak.keycloak-saml-adapter-core");
private static final ModuleIdentifier KEYCLOAK_COMMON = ModuleIdentifier.create("org.keycloak.keycloak-common");
@@ -72,6 +73,7 @@ public abstract class KeycloakDependencyProcessor implements DeploymentUnitProce
// ModuleDependency(ModuleLoader moduleLoader, ModuleIdentifier identifier, boolean optional, boolean export, boolean importServices, boolean userSpecified)
moduleSpecification.addSystemDependency(new ModuleDependency(moduleLoader, KEYCLOAK_JBOSS_CORE_ADAPTER, false, false, false, false));
moduleSpecification.addSystemDependency(new ModuleDependency(moduleLoader, KEYCLOAK_CORE_ADAPTER, false, false, false, false));
moduleSpecification.addSystemDependency(new ModuleDependency(moduleLoader, KEYCLOAK_API_ADAPTER, false, false, false, false));
moduleSpecification.addSystemDependency(new ModuleDependency(moduleLoader, KEYCLOAK_COMMON, false, false, false, false));
}
@@ -37,6 +37,11 @@ abstract class SingleSignOnDefinition {
.setXmlName(Constants.XML.VALIDATE_RESPONSE_SIGNATURE)
.build();
static final SimpleAttributeDefinition VALIDATE_ASSERTION_SIGNATURE =
new SimpleAttributeDefinitionBuilder(Constants.Model.VALIDATE_ASSERTION_SIGNATURE, ModelType.BOOLEAN, true)
.setXmlName(Constants.XML.VALIDATE_ASSERTION_SIGNATURE)
.build();
static final SimpleAttributeDefinition REQUEST_BINDING =
new SimpleAttributeDefinitionBuilder(Constants.Model.REQUEST_BINDING, ModelType.STRING, true)
.setXmlName(Constants.XML.REQUEST_BINDING)
@@ -52,7 +57,7 @@ abstract class SingleSignOnDefinition {
.setXmlName(Constants.XML.BINDING_URL)
.build();
static final SimpleAttributeDefinition[] ATTRIBUTES = {SIGN_REQUEST, VALIDATE_RESPONSE_SIGNATURE, REQUEST_BINDING, RESPONSE_BINDING, BINDING_URL};
static final SimpleAttributeDefinition[] ATTRIBUTES = {SIGN_REQUEST, VALIDATE_RESPONSE_SIGNATURE, VALIDATE_ASSERTION_SIGNATURE, REQUEST_BINDING, RESPONSE_BINDING, BINDING_URL};
static final HashMap<String, SimpleAttributeDefinition> ATTRIBUTE_MAP = new HashMap<>();
@@ -67,6 +67,7 @@ keycloak-saml.IDP.signatureCanonicalizationMethod=Signature canonicalization met
keycloak-saml.IDP.SingleSignOnService=Single sign-on configuration
keycloak-saml.IDP.SingleSignOnService.signRequest=Sign SSO requests
keycloak-saml.IDP.SingleSignOnService.validateResponseSignature=Validate an SSO response signature
keycloak-saml.IDP.SingleSignOnService.validateAssertionSignature=Validate an SSO assertion signature
keycloak-saml.IDP.SingleSignOnService.requestBinding=HTTP method to use for requests
keycloak-saml.IDP.SingleSignOnService.responseBinding=HTTP method to use for responses
keycloak-saml.IDP.SingleSignOnService.bindingUrl=SSO endpoint URL
Loaded 100 of 1866 files, more files were not shown because too many files have changed in this diff. Show more