Search in sources :

Example 6 with LoginFailureKey

use of org.keycloak.models.sessions.infinispan.entities.LoginFailureKey in project keycloak by keycloak.

the class InfinispanUserLoginFailureProvider method addUserLoginFailure.

@Override
public UserLoginFailureModel addUserLoginFailure(RealmModel realm, String userId) {
    log.tracef("addUserLoginFailure(%s, %s)%s", realm, userId, getShortStackTrace());
    LoginFailureKey key = new LoginFailureKey(realm.getId(), userId);
    LoginFailureEntity entity = new LoginFailureEntity();
    entity.setRealmId(realm.getId());
    entity.setUserId(userId);
    SessionUpdateTask<LoginFailureEntity> createLoginFailureTask = Tasks.addIfAbsentSync();
    loginFailuresTx.addTask(key, createLoginFailureTask, entity, UserSessionModel.SessionPersistenceState.PERSISTENT);
    return wrap(key, entity);
}
Also used : LoginFailureEntity(org.keycloak.models.sessions.infinispan.entities.LoginFailureEntity) LoginFailureKey(org.keycloak.models.sessions.infinispan.entities.LoginFailureKey)

Aggregations

LoginFailureKey (org.keycloak.models.sessions.infinispan.entities.LoginFailureKey)6 SessionEntityWrapper (org.keycloak.models.sessions.infinispan.changes.SessionEntityWrapper)3 LoginFailureEntity (org.keycloak.models.sessions.infinispan.entities.LoginFailureEntity)3 InfinispanConnectionProvider (org.keycloak.connections.infinispan.InfinispanConnectionProvider)2 Future (java.util.concurrent.Future)1 RealmModel (org.keycloak.models.RealmModel)1 FuturesHelper (org.keycloak.models.sessions.infinispan.util.FuturesHelper)1 SessionTimeouts (org.keycloak.models.sessions.infinispan.util.SessionTimeouts)1