157 client.setServiceAccountsEnabled(
true);
161 String username = ServiceAccountConstants.SERVICE_ACCOUNT_USER_PREFIX + client.getClientId();
162 logger.debugf(
"Creating service account user '%s'", username);
167 user.setEmail(username +
"@placeholder.org");
168 user.setServiceAccountClientLink(client.getId());
172 if (client.getProtocolMapperByName(OIDCLoginProtocol.LOGIN_PROTOCOL, ServiceAccountConstants.CLIENT_ID_PROTOCOL_MAPPER) == null) {
173 logger.debugf(
"Creating service account protocol mapper '%s' for client '%s'", ServiceAccountConstants.CLIENT_ID_PROTOCOL_MAPPER, client.getClientId());
174 ProtocolMapperModel protocolMapper = UserSessionNoteMapper.createClaimMapper(ServiceAccountConstants.CLIENT_ID_PROTOCOL_MAPPER,
175 ServiceAccountConstants.CLIENT_ID,
176 ServiceAccountConstants.CLIENT_ID,
"String",
178 client.addProtocolMapper(protocolMapper);
182 if (client.getProtocolMapperByName(OIDCLoginProtocol.LOGIN_PROTOCOL, ServiceAccountConstants.CLIENT_HOST_PROTOCOL_MAPPER) == null) {
183 logger.debugf(
"Creating service account protocol mapper '%s' for client '%s'", ServiceAccountConstants.CLIENT_HOST_PROTOCOL_MAPPER, client.getClientId());
184 ProtocolMapperModel protocolMapper = UserSessionNoteMapper.createClaimMapper(ServiceAccountConstants.CLIENT_HOST_PROTOCOL_MAPPER,
185 ServiceAccountConstants.CLIENT_HOST,
186 ServiceAccountConstants.CLIENT_HOST,
"String",
188 client.addProtocolMapper(protocolMapper);
191 if (client.getProtocolMapperByName(OIDCLoginProtocol.LOGIN_PROTOCOL, ServiceAccountConstants.CLIENT_ADDRESS_PROTOCOL_MAPPER) == null) {
192 logger.debugf(
"Creating service account protocol mapper '%s' for client '%s'", ServiceAccountConstants.CLIENT_ADDRESS_PROTOCOL_MAPPER, client.getClientId());
193 ProtocolMapperModel protocolMapper = UserSessionNoteMapper.createClaimMapper(ServiceAccountConstants.CLIENT_ADDRESS_PROTOCOL_MAPPER,
194 ServiceAccountConstants.CLIENT_ADDRESS,
195 ServiceAccountConstants.CLIENT_ADDRESS,
"String",
197 client.addProtocolMapper(protocolMapper);
KeycloakSession getSession()
Definition: RealmManager.java:85
static final Logger logger
Definition: ClientManager.java:57
RealmManager realmManager
Definition: ClientManager.java:59
void setEnabled(boolean enabled)
UserModel getServiceAccount(ClientModel client)
UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions)
UserProvider userLocalStorage()