This page explains how to connect an instance of Keycloak IAM with the eduTEAMS Service using the OpenID Connect protocol. In this setup, Keycloak acts as a Relying Party (RP), while the eduTEAMS Service is acting as the identity issuer or OIDC Provider (OP). In the following guide, "RP" is referring to Keycloak, and "OP" is referring to the eduTEAMS Service.
Supported Keycloak versions
The integration description covers all versions of Keycloak starting from 13.0.0 up to the current version 24.0.2. Integration of versions prior to 13.0.0 is possible but requires extra configuration and tweaks (e.g. removal of PKCE requirements, since it was not supported by Keycloak before version 13.0.0). Additionally, since version 21.0.0 the old admin console has been replaced with the new one. The new admin console is not available in versions prior to 15.1.0. Therefore, this page provides guidance for both:
Before proceeding, the Keycloak RP instance needs to be registered with the eduTEAMS Service. You can find more information about this process at Registering services on the eduTEAMS Service.
Filling in the service registration form does not automatically register the service on the eduTEAMS Service. The application will be processed and approved and a confirmation will be sent from the eduTEAMS Service support team that the service with its configuration is in place and connected. |
While registering the RP, make sure to choose the following options:
|
Safely store the Client ID and Secret from the service-registration confirmation page. These credentials cannot be recovered. They will be used at a later stage. |
Login to the Keycloak admin console and then follow the steps below.
Create a new OpenID Connect Identity Provider
|
Provide the discovery endpoint of the OIDC Provider interface of the eduTEAMS Service
|
After performing the above steps, the Identity Provider configuration fields (Authorization URL, Token URL, User Info URL, Issuer, etc.) must be pre-filled based on the information available through the discovery endpoint. It is important to verify that this is the case. In case the configuration has not been pre-filled, please re-check that the URL you have provided to the Import from URL field is correct and reachable from the backend of your Keycloak instance. |
Further configure the identity provider
|
The basic configuration is now ready. |
Configure attributes, claims and scopes (optional)
|
Configure attribute mappers (optional)
|
The eduperson_principal_name claim from eduTEAMS Service will be mapped to the eduperson_principal_name attribute in the user's profile in Keycloak upon a user logs in using the eduTEAMS Service. |
Create a new OpenID Connect Identity Provider
|
Set basic properties and provide the discovery endpoint of the OIDC Provider interface of the eduTEAMS Service
|
Further configure the identity provider
|
The basic configuration is now ready. |
Please take into account that filling in the RP registration form does not automatically configure the RP on the eduTEAMS Service side. Please wait for confirmation from the eduTEAMS Support Team that the configuration is in place. |
Configure attributes, claims and scopes (optional)
|
Configure attribute mappers (optional)
|
The eduperson_principal_name claim from eduTEAMS Service will be mapped to the eduperson_principal_name attribute in the user's profile in Keycloak upon a user logs in using the eduTEAMS Service. |