21e2fa8784
Added the metadata url as an attribute on the IDP in the keycloak saml configuration which then propagates through to the DefaultSamlDeployment where it is used on the construction of the SamlDescriptorPublicKeyLocator thereby allowing support for ADFS or other IDP which uses a path that is different to the Keycloak IDP. To make this work when testing with ADFS a change was made to SamlDescriptorIDPKeysExtractor because it would not extract keys from metadata which contained the EntityDescriptor as the root element. The solution was to change the xpath expression in SamlDescriptorIDPKeysExtractor so that it does not require a wrapping EntitiesDescriptor but instead loads all EntityDescriptors located in the document. This allows it to handle a single EntityDescriptor or multiple descriptors wrapped in an EntitiesDescriptor in the same xpath expression. A unit test SamlDescriptorIDPKeysExtractorTest has been added which validates that keys can be loaded in both scenarios. |
||
---|---|---|
.travis | ||
adapters | ||
authz | ||
boms | ||
common | ||
core | ||
dependencies | ||
distribution | ||
docs | ||
examples | ||
federation | ||
integration | ||
misc | ||
model | ||
saml-core | ||
saml-core-api | ||
server-spi | ||
server-spi-private | ||
services | ||
testsuite | ||
themes | ||
util | ||
wildfly | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
ADOPTERS.md | ||
CONTRIBUTING.md | ||
get-version.sh | ||
License.html | ||
MAINTAINERS.md | ||
pom.xml | ||
prod-arguments.json | ||
README.md | ||
release.sh | ||
set-version.sh | ||
travis-run-tests.sh |
Keycloak
Keycloak is an Open Source Identity and Access Management solution for modern Applications and Services.
This repository contains the source code for the Keycloak Server, Java adapters and the JavaScript adapter.
Help and Documentation
- Documentation
- User Mailing List - Mailing list for help and general questions about Keycloak
- JIRA - Issue tracker for bugs and feature requests
Reporting Security Vulnerabilities
If you've found a security vulnerability, please look at the instructions on how to properly report it
Reporting an issue
If you believe you have discovered a defect in Keycloak please open an issue in our Issue Tracker. Please remember to provide a good summary, description as well as steps to reproduce the issue.
Getting started
To run Keycloak download the distribution from our website. Unzip and run:
bin/standalone.[sh|bat]
Alternatively, you can use the Docker image by running:
docker run jboss/keycloak
For more details refer to the Keycloak Documentation.
Building from Source
To build from source refer to the building and working with the code base guide.
Testing
To run tests refer to the running tests guide.
Writing Tests
To write tests refer to the writing tests guide.
Contributing
Before contributing to Keycloak please read our contributing guidelines.
Other Keycloak Projects
- Keycloak - Keycloak Server and Java adapters
- Keycloak Documentation - Documentation for Keycloak
- Keycloak QuickStarts - QuickStarts for getting started with Keycloak
- Keycloak Docker - Docker images for Keycloak
- Keycloak Gatekeeper - Proxy service to secure apps and services with Keycloak
- Keycloak Node.js Connect - Node.js adapter for Keycloak
- Keycloak Node.js Admin Client - Node.js library for Keycloak Admin REST API