Before reporting an issue
Area
admin/api
Describe the bug
I checked the implementation of the executeActionsEmail, especially
|
private SendEmailParams verifySendEmailParams(String redirectUri, String clientId, Integer lifespan) { |
and found out that the issuer for the generated
ExecuteActionsActionToken is null, if no clientId is passed.
It should take the clientId from the client found by
|
ClientModel client = clientId != null ? realm.getClientByClientId(clientId) : SystemClientUtil.getSystemClient(realm); |
and passing it to the SendEmailParams
return new SendEmailParams(redirectUri, client.getClientId(), lifespan);
Afterwards, the clientId is used in result.clientId to generate the token
|
ExecuteActionsActionToken token = new ExecuteActionsActionToken(user.getId(), user.getEmail(), expiration, actions, result.redirectUri, result.clientId); |
This was introduced in 02d64d9
Version
26.0.6
Regression
Expected behavior
Token issuer is the clientId of the passed client or default client.
Actual behavior
Token issuer is null if no clientId is passed
How to Reproduce?
Call the api endpoint without passing a clientId and check the token.
Anything else?
No response
Before reporting an issue
Area
admin/api
Describe the bug
I checked the implementation of the executeActionsEmail, especially
keycloak/services/src/main/java/org/keycloak/services/resources/admin/UserResource.java
Line 1120 in b20cfbb
ExecuteActionsActionTokenis null, if no clientId is passed.It should take the clientId from the client found by
keycloak/services/src/main/java/org/keycloak/services/resources/admin/UserResource.java
Line 1134 in b20cfbb
return new SendEmailParams(redirectUri, client.getClientId(), lifespan);Afterwards, the clientId is used in
result.clientIdto generate the tokenkeycloak/services/src/main/java/org/keycloak/services/resources/admin/UserResource.java
Line 905 in b20cfbb
This was introduced in 02d64d9
Version
26.0.6
Regression
Expected behavior
Token issuer is the clientId of the passed client or default client.
Actual behavior
Token issuer is null if no clientId is passed
How to Reproduce?
Call the api endpoint without passing a clientId and check the token.
Anything else?
No response