Intro
This page explains how to connect an instance of Keycloak IAM with the MyAccessID Service using the OpenID Connect protocol. In this setup, Keycloak acts as a Relying Party (RP), while the MyAccessID 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 MyAccessID Service.
Supported Keycloak versions
The integration description covers all versions of Keycloak starting from 13.0.0 up to the current version 24(26.0.20 at the time of updating this document). 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:
Prerequisites
Before proceeding, the Keycloak RP instance needs to be registered with the MyAccessID Service. You can find more information about this process at Registering Relying Parties on the MyAccessID Service.
Note |
---|
Filling in the service registration form does not automatically register the service on the MyAccessID Service. The application will be processed and approved and a confirmation will be sent from the MyAccessID 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:
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Note |
---|
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. |
The old Keycloak admin console
Anchor | ||||
---|---|---|---|---|
|
Login to the Keycloak admin console and then follow the steps below.
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Create a new OpenID Connect Identity Provider
|
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Provide the discovery endpoint of the OIDC Provider interface of the MyAccessID Service
|
Info |
---|
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. |
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Further configure the identity provider
|
Info |
---|
The basic configuration is now ready. |
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Configure attributes, claims and scopes (optional)
|
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Configure attribute mappers (optional)
|
Info |
---|
The edupersonvoperson_principalexternal_nameaffiliation claim from MyAccessID Service will be mapped to the edupersonvoperson_principalexternal_name attribute affiliation attribute in the user's profile in Keycloak upon a user logs in using the MyAccessID Service. |
The new Keycloak admin console
Anchor | ||||
---|---|---|---|---|
|
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Create a new OpenID Connect Identity Provider
|
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Set basic properties and provide the discovery endpoint of the OIDC Provider interface of the MyAccessID Service
|
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Further configure the identity provider
|
Info |
---|
The basic configuration is now ready. |
Note |
---|
Please take into account that filling in the RP registration form does not automatically configure the RP on the MyAccessID Service side. Please wait for confirmation from the MyAccessID Support Team that the configuration is in place. |
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Configure attributes, claims and scopes (optional)
|
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Configure attribute mappers (optional)
|
Info |
---|
The edupersonvoperson_principalexternal_nameaffiliation claim from MyAccessID Service will be mapped to the edupersonvoperson_principalexternal_name attribute affiliation attribute in the user's profile in Keycloak upon a user logs in using the MyAccessID Service. |