No description
Find a file
Alexander Bokovoy 1915f11cba OAuth2DeviceConfig: fix polling interval defaults
Instead of DEFAULT_OAUTH2_DEVICE_POLLING_INTERVAL, constant for the
lifespan was used to initialize the default polling interval.

This leads to inability to continuously poll the result as the result
stuck in the actionTokens cache for far longer than expected (600
seconds instead of 5 seconds). As a result, only the first request for
the token succeeds if a resource owner already did grant the access. If
that has not happened, any additional polling within 600 seconds would
get rejected with a 'slow_down' response.

This makes hard to write OAuth 2.0 clients using device code
authorization grant flow against multiple IdPs. Microsoft's
implementation of OAuth 2.0 device code grant flow requires 'nudging'
the Authorization Server's token endpoint before it even starts
recognizing the device code. Keycloak mismatch of the polling interval
default makes this flow impossible.

Closes #12327

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
2022-06-06 11:54:56 +02:00
.github Fix CodeQl actions syntax 2022-05-31 08:53:42 -03:00
.mvn/wrapper Add Maven Wrapper (#11031) 2022-04-22 15:24:39 +02:00
adapters Support for client_id parameter in OIDC RP-Initiated logout endpoint (#12202) 2022-05-27 14:12:37 +02:00
authz Make sure there is always Realm or ResourceServer when searching for authz entities 2022-05-11 07:20:01 -03:00
boms Remove Jetty 9.2 and 9.3 adapters (#11792) 2022-05-04 15:24:46 +02:00
common KEYCLOAK-6455 Ability to require email to be verified before changing (#7943) 2022-05-09 18:52:22 +02:00
config-api Refactor dist config to a common module 2022-05-26 12:07:03 -03:00
core Remove JDK7 support for adapters (#11607) 2022-04-27 08:33:23 +02:00
dependencies Add option to skip new admin console while doing a build (#11591) 2022-04-22 14:25:29 +02:00
distribution Update the CLI installation scripts for the SAML Elytron adapter so they work with WildFly 25 and later 2022-05-18 21:01:06 +02:00
docs Fixing docs to state that substitution only works when importing at startup 2022-05-30 08:09:00 -03:00
examples Replaces instances of himself with more inclusive language 2022-06-03 12:25:14 -03:00
federation Replaces instances of himself with more inclusive language 2022-06-03 12:25:14 -03:00
integration Add a keycloak admin-client-jakarta module (#11720) 2022-05-04 10:45:37 +02:00
kubernetes Fixes to hostname (#10820) 2022-03-22 08:11:50 +01:00
misc Remove Jetty 9.2 and 9.3 adapters (#11792) 2022-05-04 15:24:46 +02:00
model Each JpaRootEntity should have its own current schema version 2022-06-02 17:16:34 +02:00
operator Respect http-relative-path with probes 2022-06-03 12:23:36 -03:00
quarkus Make script providers working on JDK 17 (#11322) 2022-05-27 12:28:50 +02:00
saml-core Remove JDK7 support for adapters (#11607) 2022-04-27 08:33:23 +02:00
saml-core-api Remove JDK7 support for adapters (#11607) 2022-04-27 08:33:23 +02:00
server-spi OAuth2DeviceConfig: fix polling interval defaults 2022-06-06 11:54:56 +02:00
server-spi-private Add HotRod no downtime store for events 2022-06-02 13:30:19 +02:00
services Client Policies: pkce-enforcer executor with client-access-type condition is not applied on client change via Admin API 2022-06-06 11:30:48 +02:00
testsuite Client Policies: pkce-enforcer executor with client-access-type condition is not applied on client change via Admin API 2022-06-06 11:30:48 +02:00
themes Replaces instances of himself with more inclusive language 2022-06-03 12:25:14 -03:00
util Avoiding AvlPartitionFactory and using JdbmPartitionFactory for the embedded LDAP to work around unstable tests. 2022-04-12 09:12:21 +02:00
wildfly Make script providers working on JDK 17 (#11322) 2022-05-27 12:28:50 +02:00
.gitattributes KEYCLOAK-19858 Add Tests to check that no credentials are leaking when using CLI commands. Also: Tests for Help Command output using Golden master technique 2021-12-14 02:13:59 -08:00
.gitignore /clients-registrations API doesn't return secret anymore and is not coherent #11116 2022-05-30 15:18:56 +02:00
.gitleaks.toml KEYCLOAK-19155: Add a .gitleaks.toml 2021-08-31 20:21:28 +02:00
ADOPTERS.md Add Wayfair to Adopters (#11042) 2022-04-01 08:07:08 +02:00
CONTRIBUTING.md Update commit message and issue linking sections in contributors guide (#9391) 2022-01-11 11:19:31 +01:00
get-version.sh
GOVERNANCE.md Update issues link to GitHub issues rather than JBoss/RedHat JIRA (#12218) 2022-06-01 15:20:36 +02:00
LICENSE.txt Added text version of ASL2 license 2019-11-08 12:43:10 +01:00
MAINTAINERS.md Update MAINTAINERS.md 2021-10-18 15:46:35 +02:00
maven-settings.xml [KEYCLOAK-11764] Upgrade to Wildfly 19 2020-04-24 08:19:43 -03:00
mvnw Add Maven Wrapper (#11031) 2022-04-22 15:24:39 +02:00
mvnw.cmd Add Maven Wrapper (#11031) 2022-04-22 15:24:39 +02:00
pom.xml Make script providers working on JDK 17 (#11322) 2022-05-27 12:28:50 +02:00
prod-arguments.json [KEYCLOAK-16723] Upgrade to Wildfly 22 2021-04-29 12:36:03 +02:00
README.md Update README.md 2022-03-24 20:44:12 +01:00
release.sh Include Admin UI as a regular dependency (#11281) 2022-04-21 11:39:00 +02:00
set-version.sh Include Admin UI as a regular dependency (#11281) 2022-04-21 11:39:00 +02:00

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

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. 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/kc.[sh|bat] start-dev

Alternatively, you can use the Docker image by running:

docker run quay.io/keycloak/keycloak start-dev

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

License