851d0192ad
We now provide a configurable way for dynamic proxy route selection for the default HttpClient based on regex based targetHostname patterns. Introduced `ProxyMapping` to describe a regex based mapping between target hosts and the proxy URL to use. A `ProxyMapping` can be build from an ordered list of string based mapping representations, e.g: ``` ^.*.(google.com|googleapis.com)$;http://localhost:8080 ``` If the targetHost does not match a configured proxy mapping, no proxy is used. This can be configured via standalone.xml / jboss-cli, e.g.: ``` echo SETUP: Configure proxy routes for HttpClient SPI /subsystem=keycloak-server/spi=connectionsHttpClient/provider=default:add(enabled=true) /subsystem=keycloak-server/spi=connectionsHttpClient/provider=default:write-attribute(name=properties.proxy-mappings,value=["^.*.(google.com|googleapis.com)$;http://www-proxy1:8080","^.*.facebook.com$;http://www-proxy2:8080"]) ``` The new `ProxyMappingWareRoutePlanner` uses a configured `ProxyMapping` to decide which proxy to use for a given request based on the target host denoted by the HTTP request to execute. I verified this manually with the BurpProxy Suite. |
||
---|---|---|
adapters | ||
authz | ||
boms | ||
common | ||
core | ||
dependencies | ||
distribution | ||
examples | ||
federation | ||
integration | ||
misc | ||
model | ||
proxy | ||
saml-core | ||
saml-core-api | ||
server-spi | ||
server-spi-private | ||
services | ||
testsuite | ||
themes | ||
util | ||
wildfly | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
License.html | ||
pom.xml | ||
README.md | ||
set-version.sh | ||
travis-run-tests.sh |
Keycloak
Open Source Identity and Access Management for modern Applications and Services.
For more information about Keycloak visit Keycloak homepage and Keycloak blog.
Building
Ensure you have JDK 8 (or newer), Maven 3.1.1 (or newer) and Git installed
java -version
mvn -version
git --version
First clone the Keycloak repository:
git clone https://github.com/keycloak/keycloak.git
cd keycloak
To build Keycloak run:
mvn install
This will build all modules and run the testsuite.
To build the distribution run:
mvn install -Pdistribution
Once completed you will find distribution archives in distribution
.
Starting Keycloak
To start Keycloak during development first build as specified above, then run:
mvn -f testsuite/utils/pom.xml exec:java -Pkeycloak-server
To start Keycloak from the server distribution first build the distribution it as specified above, then run:
tar xfz distribution/server-dist/target/keycloak-<VERSION>.tar.gz
cd keycloak-<VERSION>
bin/standalone.sh
To stop the server press Ctrl + C
.
Reporting security vulnerabilities
If you've found a security vulnerability, please look at the instructions on how to properly report it
Help and Documentation
- Documentation - User Guide, Admin REST API and Javadocs
- User Mailing List - Mailing list to ask for help and general questions about Keycloak
- JIRA - Issue tracker for bugs and feature requests
Contributing
- Developer documentation
- Hacking on Keycloak - How to become a Keycloak contributor
- Testsuite - Details about testsuite, but also how to quickly run Keycloak during development and a few test tools (OTP generation, LDAP server, Mail server)
- Database Testing - How to do testing of Keycloak on different databases
- Updating Database - How to change the Keycloak database
- Changing the Default keycloak-subsystem Configuration - How to update the default keycloak-subsystem config
- Developer Mailing List - Mailing list to discuss development of Keycloak