Alternative is, to update user directly in the LOGIN event after
REGISTER event, but not 100% sure this one will work. Also even if it
works, it's more a workaround.
Marek
On 10/08/18 19:32, Max Bruchmann wrote:
Hmm unfortunatelly if I use
KeycloakModelUtils.runJobInTransaction(session.getKeycloakSessionFactory(),
(session) -> {
UserModel user = getUserModel(session, userId, realmId);
...
The user is null :/
Max
Am 10.08.18 um 09:03 schrieb Marek Posolda:
> I am not 100% sure, but it's possible that updating users in the
> events don't currently work. Reason is, that transaction might be
> already commited. The possible solution long term is to use pre/post
> events for this (which we don't yet support).
>
> For the short term, it may be possible to manually trigger your own
> temporarily transaction (You can take a look at
> KeycloakModelUtils.runJobInTransaction method). Note that in the new
> transaction, you need to ensure to not use Hibernate entities from
> the "outer" transaction (EG. all the things like RealmModel,
> UserModel need to be look-up again through the Model API in the new
> transaction).
>
>
> Marek
>
>
>
> On 09/08/18 21:39, Max Bruchmann wrote:
>> Hi,
>>
>> I have a custom EventListenerProvider that consumes Register and
>> Login events.
>>
>> On register it creates some external resource
>>
>> ...//on register
>>
>> String externalID = createSomethingWithUserEmail(userModel.getEmail())
>>
>> userModel.setSingleAttribute("foo", externalID)
>>
>> ...
>>
>> On login I need to todo some additional calls with the already
>> created id.
>>
>> ...// on login
>>
>> String externalID = userModel.getFirstAttribute("foo");
>>
>> doSomeUpdate(externalID, userModel.getFirstName(),
>> userModel.getLastName())
>>
>> ...
>>
>>
>> Unfortunatelly the retrieved id via getFirstAttribute seems to be null.
>>
>> Is there anything I need todo when modifying attributes so they are
>> persisted?
>>
>>
>> Kind Regards,
>>
>> Max
>> _______________________________________________
>> keycloak-user mailing list
>> keycloak-user(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/keycloak-user
>
>