work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/application/configuration/password/AdminappPasswordResetConfig.java:3:import com.airlock.iam.core.domain.service.password.AdminappPasswordResetService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/application/configuration/password/AdminappPasswordResetConfig.java:5:public interface AdminappPasswordResetConfig { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/application/configuration/password/AdminappPasswordResetConfig.java:6: AdminappPasswordResetService getService(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/airlock2fa/Airlock2FAAuthenticationDataValueMapProviderConfig.java:11: description = "

Provides Airlock 2FA authentication information regarding the Auth Token ID device, as well as cooldown information of the authentication device.

The provided Auth Token ID information concerns the device from the Auth Token ID and is available as soon as the user has used or activated an Airlock 2FA device as a second factor for authentication in this session. Currently, the following values are provided:

The cooldown information concerns the device that was used for authentication and is available as soon as the user has successfully used an Airlock 2FA device for authentication in this session. Unlike the Auth Token ID, which is also updated after registering a new device, the values provided here only concern the device used for the actual authentication. Currently, the following values are provided:

The following key is always provided and reports what type of devices the user has in the account:

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/airlock2fa/Airlock2FAApprovalStepConfig.java:61: description = "

Priority list of all factors that can be used in this approval step. Only factors that are in this list can be used.\nThe factors are offered in the configured order.

\n

One-Touch and Online QR Code must come before all other factors.\nIt is recommended to include at least one offline factor.

\n

Available factors:\n

\n

AuthTokenId:
\n The AuthTokenId identifies the device and factor that was used during the authentication\n and links it to the approval process. It is used to ensure that, for certain flows, the same device\n must perform the approval. The AuthTokenId is evaluated only for transaction approval. It has no\n effect on other flow types.

When the AuthTokenId is present in the transaction approval flow and contains the\n factor Mobile Only:\n

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/continuation/SendEmailLinkStepConfig.java:42: description = "

Flow step that sends an email with a link to the current user. This link allows the user to perform further\nsteps in a specified public self-service flow. Because the link contains an unguessable token, no further\nidentity verification is necessary in the target flow.

\n

Typical use-cases:\n

\n", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/continuation/SendEmailLinkStepConfig.java:70: exampleValues = {"public-self-service.email.link.subject", "password-reset.email.link.subject"}, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/continuation/SendEmailLinkStepConfig.java:77: exampleValues = {"public-self-service.email.link.body", "password-reset.email.link.body"}, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/valueprovider/AuthenticationDataValueMapProviderConfig.java:9: description = "

Provides some data about the successful authentication of the user.

Currently, the following values are provided:

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/valueprovider/AuthenticationDataValueMapProviderConfig.java:14: public static final String AUTH_TOKEN_ID_KEY = "auth-token-id"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/SimulatedCrontoChallenge.java:33: public Optional getChallengeTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/message/GenericMtanMessageProviderConfig.java:20: exampleValues = {"self-service.user-data-edit.approval.mtan", "password-reset.factors.mtan.message", "mtan-registration.verification.message"}, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/CommonCrontoHandler.java:364: public Optional loadLetterById(UserId userId, String tokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/CommonCrontoHandler.java:365: TokenDataProvider.TokenFilter filter = new TokenDataProvider.TokenFilter().filterSingleUser(userId.getValue()).filterTokenId(tokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/message/GenericAirlock2FAMessageProviderConfig.java:20: description = "

This key identifies the message template that is used to generate the message title. The title is displayed in the Airlock 2FA mobile app after the word \"Approve\", e.g. \"Login\" or \"Password Reset\".

It is displayed for One-Touch, Online QR Code and Usernameless QR Code factors.

It is ignored for Offline QR Code. Because of technical limitations, the title of Offline QR Codes is always the default title from Futurae.

The string resource key itself may also contain variables, e.g. 'airlock2fa.message.${type}.title'. Variables are replaced with the corresponding values provided by the \"Value Providers\". For more information about formatting, consult the customer documentation.

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/message/GenericAirlock2FAMessageProviderConfig.java:22: "self-service.user-data-edit.approval.airlock-2fa.title", "password-reset.factors.airlock-2fa.title", "airlock2fa.one-touch.authentication-title" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/message/GenericCrontoMessageProviderConfig.java:22: exampleValues = {"self-service.user-data-edit.approval.cronto", "password-reset.factors.cronto.message"}, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineHandler.java:575: crontoEngineChallenge.setChallengeTokenId(challengeToken.getDelegate().getTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineHandler.java:591: ((CrontoEngineChallenge)crontoChallengeResult.getChallenge()).clearChallengeTokenId(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/message/Airlock2FAInformationItemConfig.java:22: "self-service.user-data-edit.approval.airlock-2fa.key", "password-reset.factors.airlock-2fa.username.key", "airlock2fa.one-touch.login-id.key" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/configuration/message/Airlock2FAInformationItemConfig.java:33: "password-reset.factors.airlock-2fa.username.value", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineUtils.java:222: crontoEngineChallenge.setChallengeTokenId(token.getDelegate().getTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineTokenManager.java:125: LOG.debug("Deleting Cronto challenge token \"" + crontoChallenge.getChallengeTokenId().get() + "\" for user \"" + crontoChallenge.getUserId() + "\""); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineTokenManager.java:144: if (crontoChallenge.getChallengeTokenId().isEmpty()) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineTokenManager.java:150: TokenBean persistedToken = this.tokenDataProvider.getToken(crontoChallenge.getChallengeTokenId().get()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:23: private static final String TOKEN_ID_KEY = "tokenId"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:26: private Optional challengeTokenId = Optional.empty(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:74: return this.challengeTokenId.isPresent(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:91: public void setChallengeTokenId(String id) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:92: this.challengeTokenId = Optional.of(id); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:95: public void clearChallengeTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:96: this.challengeTokenId = Optional.empty(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:103: .putIfPresent("tokenId", this.challengeTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:110: values.getOptional("tokenId").ifPresent(challenge::setChallengeTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:126: public Optional getChallengeTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:127: return this.challengeTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:141: Object this$challengeTokenId = this.challengeTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:142: Object other$challengeTokenId = other.challengeTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:143: return this$challengeTokenId == null ? other$challengeTokenId == null : this$challengeTokenId.equals(other$challengeTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:157: Object $challengeTokenId = this.challengeTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/crontoengine/CrontoEngineChallenge.java:158: return result * 59 + ($challengeTokenId == null ? 43 : $challengeTokenId.hashCode()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/service/mtan/MtanOtpCheck.java:27: public FlowResult selectMtanToken(String mtanTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/application/service/mtan/MtanOtpCheck.java:28: return this.executeStepMethod(step -> step.selectMtanToken(mtanTokenId)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoChallenge.java:22: private static final String TOKEN_ID_KEY = "tokenId"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoChallenge.java:26: private Optional challengeTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoChallenge.java:32: this.challengeTokenId = Optional.empty(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoChallenge.java:35: public VascoCrontoChallenge(UserId userId, SecureChannelMessage message, VascoChallenge.VascoChallengeType challengeType, String challengeTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoChallenge.java:39: this.challengeTokenId = Optional.ofNullable(challengeTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoChallenge.java:44: return this.challengeTokenId.isPresent(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoChallenge.java:66: this.challengeTokenId = Optional.empty(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoChallenge.java:75: .putIfPresent("tokenId", this.challengeTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoChallenge.java:84: values.getOptional("tokenId").orElse(null) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoChallenge.java:106: public Optional getChallengeTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoChallenge.java:107: return this.challengeTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoTokenManager.java:211: LOG.debug("Deleting Cronto challenge token \"" + crontoChallenge.getChallengeTokenId().get() + "\" for user \"" + crontoChallenge.getUserId() + "\""); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoTokenManager.java:229: if (crontoChallenge.getChallengeTokenId().isEmpty()) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoTokenManager.java:235: TokenBean persistedToken = this.tokenDataProvider.getToken(crontoChallenge.getChallengeTokenId().get()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:29:import com.airlock.iam.flow.shared.domain.model.rememberme.RememberMeTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:147: .set(RememberMeTokenTable.REMEMBER_ME_TOKEN.ID, token.getId().asString()) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:176: public Optional findBy(RememberMeTokenId tokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:178: () -> this.findRememberMeTokens(this.tokenIdMatches(tokenId)).fetchOptional(this::mapRememberMeToken), work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:179: e -> new FailureException(String.format("Error finding Remember-Me token for ID '%s' and tenant '%s'", tokenId.asString(), this.tenantId), e) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:208: .id(RememberMeTokenId.rememberMeTokenId((String)record.get(RememberMeTokenTable.REMEMBER_ME_TOKEN.ID))) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:283: private Condition tokenIdMatches(RememberMeTokenId tokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:284: return RememberMeTokenTable.REMEMBER_ME_TOKEN.ID.eq(tokenId.asString()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:322: private SelectConditionStep findBy(DSLContext db, RememberMeTokenId id) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:323: return db.selectFrom(RememberMeTokenTable.REMEMBER_ME_TOKEN).where(RememberMeTokenTable.REMEMBER_ME_TOKEN.ID.eq(id.asString())).and(this.tenantMatches()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:332: .where(RememberMeTokenTable.REMEMBER_ME_TOKEN.ID.eq(token.getId().asString())) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:352: public boolean deleteBy(RememberMeTokenId tokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:355: .executeAndReturn(db -> this.deleteByHash(db, RememberMeTokenTable.REMEMBER_ME_TOKEN.ID.eq(tokenId.asString()))), work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/rememberme/RememberMeTokenRepositoryImpl.java:356: e -> new FailureException(String.format("Error while deleting Remember-Me token with ID '%s'", tokenId.asString()), e) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/FlowAttributesModule.java:5:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdFlowSessionAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/FlowAttributesModule.java:22: Optional provideAuthTokenId(UserSession userSession) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/FlowAttributesModule.java:23: return userSession.findUserSessionAttribute(AuthTokenIdFlowSessionAttribute.class); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/Airlock2FAModuleForConfigBase.java:9:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenIdCoder; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/Airlock2FAModuleForConfigBase.java:10:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenIdCoderImpl; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/Airlock2FAModuleForConfigBase.java:87: this.bind(Airlock2FAAuthTokenIdCoder.class).to(Airlock2FAAuthTokenIdCoderImpl.class); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:40:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:343: description = "If set to TRUE the user attribute \"Lockout Time\" is reset to 0 upon password reset.", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:348: private boolean unlockUserOnPasswordReset; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:450: boolean unlockUserOnPasswordReset, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:482: this.unlockUserOnPasswordReset = unlockUserOnPasswordReset; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:713: public PasswordResetResult resetPassword(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:718: if (context == PasswordService.PasswordResetContext.BY_USER) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:721: if (context != PasswordService.PasswordResetContext.BY_ADMIN) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:722: throw new PasswordServiceException("The provided PasswordResetContext is not supported: " + context.name()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:728: PasswordResetResult res = new PasswordResetResult(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:733: boolean checkServerSidePolicies = context == PasswordService.PasswordResetContext.BY_USER && this.checkServersidePasswordPoliciesOnChange; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:734: return this.setPasswordOnServer(userId, newPassword, checkServerSidePolicies, this.unlockUserOnPasswordReset) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:991: return failure.get() == LdapAuthenticationFailureMapper.DetailedFailure.MUST_RESET_PASSWORD work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:1473: private boolean unlockUserOnPasswordReset; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:1620: public ActiveDirectoryConnector.ActiveDirectoryConnectorBuilder unlockUserOnPasswordReset(boolean unlockUserOnPasswordReset) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:1621: this.unlockUserOnPasswordReset = unlockUserOnPasswordReset; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:1708: this.unlockUserOnPasswordReset, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:1765: + ", unlockUserOnPasswordReset=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/activedirectory/ActiveDirectoryConnector.java:1766: + this.unlockUserOnPasswordReset work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/valueprovider/Airlock2FADeviceUsedForLoginPredicateModule.java:4:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenIdCoder; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/valueprovider/Airlock2FADeviceUsedForLoginPredicateModule.java:5:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenIdCoderImpl; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/valueprovider/Airlock2FADeviceUsedForLoginPredicateModule.java:14: this.bind(Airlock2FAAuthTokenIdCoder.class).to(Airlock2FAAuthTokenIdCoderImpl.class); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/valueprovider/Airlock2FAAuthenticationValueMapProviderModule.java:8:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenIdCoder; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/valueprovider/Airlock2FAAuthenticationValueMapProviderModule.java:9:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenIdCoderImpl; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/valueprovider/Airlock2FAAuthenticationValueMapProviderModule.java:59: this.bind(Airlock2FAAuthTokenIdCoder.class).to(Airlock2FAAuthTokenIdCoderImpl.class); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:306: description = "

The name of the database column with the number of failed password reset attempts for flow-based password reset. The type of this column is NUMBER

.

Security note: If this column is not specified, failed password reset attempts are not counted, which enables brute-force attacks.

" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:309: private String colFailedPasswordResets; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:409: description = "Name of the database column holding the number of completed resends of the channel verification token during the user's self-registration. The type of this column is NUMBER.
If this column is not specified, the number of allowed resend attempts is not limited.", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:615: String colFailedPasswordResets, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:682: this.colFailedPasswordResets = colFailedPasswordResets; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:985: this.colFailedPasswordResets, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:987: userOnDb.getFailedPasswordResets(), work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:988: userInMemory.getFailedPasswordResets(), work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:989: "Updating failed password resets for user \"" + username + "\".", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:2350: if (this.colFailedPasswordResets != null) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:2351: sqlString.append(',').append(this.colFailedPasswordResets); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:2569: if (this.colFailedPasswordResets != null) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:2570: st.setInt(pos++, user.getFailedPasswordResets()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:2886: private String colFailedPasswordResets; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:3131: public DatabaseUserPersister.DatabaseUserPersisterBuilder colFailedPasswordResets(String colFailedPasswordResets) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:3132: this.colFailedPasswordResets = colFailedPasswordResets; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:3454: this.colFailedPasswordResets, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:3557: + ", colFailedPasswordResets=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:3558: + this.colFailedPasswordResets work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/db/DatabaseUserPersister.java:3887: this.readInt(DatabaseUserPersister.this.colFailedPasswordResets, rs, user::setFailedPasswordResets, "number of failed password resets"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/step/CommonAirlock2FAActivationStepModule.java:5:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenIdCoder; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/step/CommonAirlock2FAActivationStepModule.java:18:import com.airlock.iam.flow.shared.domain.service.airlock2fa.Airlock2FAAuthTokenIdService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/step/CommonAirlock2FAActivationStepModule.java:54: this.expose(Airlock2FAAuthTokenIdCoder.class); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/step/CommonAirlock2FAActivationStepModule.java:57: this.bind(Airlock2FAAuthTokenIdService.class); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/step/CommonAirlock2FAActivationStepModule.java:58: this.expose(Airlock2FAAuthTokenIdService.class); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/SimplePersistentUserWithPassword.java:16: private int failedPasswordResets; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/SimplePersistentUserWithPassword.java:94: public void resetPasswordChangeEnforcement() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/SimplePersistentUserWithPassword.java:100: public void increaseFailedPasswordResets() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/SimplePersistentUserWithPassword.java:101: this.failedPasswordResets++; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/SimplePersistentUserWithPassword.java:124: public void setFailedPasswordResets(int failedPasswordResets) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/SimplePersistentUserWithPassword.java:125: this.failedPasswordResets = failedPasswordResets; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/SimplePersistentUserWithPassword.java:130: public int getFailedPasswordResets() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/SimplePersistentUserWithPassword.java:131: return this.failedPasswordResets; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/CrontoPushActivationConditionModule.java:9:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdFlowSessionAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/CrontoPushActivationConditionModule.java:32: return attributes.findAttribute(AuthTokenIdFlowSessionAttribute.class) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/infrastructure/factory/CrontoPushActivationConditionModule.java:33: .map(AuthTokenIdFlowSessionAttribute::getAuthTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/AuthUserBeanImpl.java:160: to.setFailedPasswordResets(from.getFailedPasswordResets()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/AuthUserBeanImpl.java:207: public void resetPasswordOrder() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/property/PropertyUserPersister.java:66: public static final String KEY_FAILED_PASSWORD_RESETS = "failed-password-resets"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/property/PropertyUserPersister.java:181: userBean.setFailedPasswordResets(dataElement.getIntDataElement("failed-password-resets", 0)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/property/PropertyUserPersister.java:239: dataElement.updateStringDataElement("failed-password-resets", userInMemory.getFailedPasswordResets()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:33:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:408: public PasswordResetResult resetPassword(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:417: return this.passwordResetPolicyViolatedResult(policyCheckResult); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:420: boolean isPasswordResetSuccessfulOnLdap = this.authenticatorService work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:422: if (!isPasswordResetSuccessfulOnLdap) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:423: return this.passwordResetFailedOnLdapResult(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:427: return this.passwordResetSuccessfulResult(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:433: private boolean isPasswordPolicyCheckOnServerEnabled(PasswordService.PasswordResetContext context) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:434: return this.connector.isActiveDirectoryCheckPasswordPoliciesForUserInitiatedModification() && context != PasswordService.PasswordResetContext.BY_ADMIN; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:437: private PasswordResetResult passwordResetSuccessfulResult() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:438: PasswordResetResult result = new PasswordResetResult(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:442: private PasswordResetResult passwordResetPolicyViolatedResult(PasswordPolicyCheckResult policyCheckResult) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:443: PasswordResetResult result = new PasswordResetResult(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:447: private PasswordResetResult passwordResetFailedOnLdapResult() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnectorService.java:448: PasswordResetResult result = new PasswordResetResult(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:206: description = "

The name of the LDAP attribute holding the number of failed password reset attempts for flow-based password reset.

Security note: If this column is not specified, failed password reset attempts are not counted, which enables brute-force attacks.

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:208: suggestedValues = "failedPasswordResets" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:211: private String failedPasswordResetsAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:359: description = "Name of the LDAP attribute holding the number of completed resends of the channel verification token during the user's self-registration.", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:604: String failedPasswordResetsAttribute, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:679: this.failedPasswordResetsAttribute = failedPasswordResetsAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:1138: public String getFailedPasswordResetsAttribute() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:1139: return this.failedPasswordResetsAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:1384: private String failedPasswordResetsAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:1625: public LdapUserPersister.LdapUserPersisterBuilder failedPasswordResetsAttribute(String failedPasswordResetsAttribute) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:1626: this.failedPasswordResetsAttribute = failedPasswordResetsAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:1963: this.failedPasswordResetsAttribute, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:2065: + ", failedPasswordResetsAttribute=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersister.java:2066: + this.failedPasswordResetsAttribute work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersisterConfig.java:98: String getFailedPasswordResetsAttribute(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:33:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:97: description = "

Provides the following services by connecting to an LDAP directory (for MS Active Directory, please use the Active Directory Connector plugin):

Main Features

  • LDAP directory as user data repository (User Persister, User Iterator, Extended User Persister)
  • LDAP directory as password service (check password, reset password, change password)
  • LDAP directory as token storage for one user-related token (e.g. for mobile number)

Requirements on Directory Schema

  • For using the basic features, users should have object class inetOrgPerson. More limited usage is possible with organizationalPerson and even Person.
  • All attribute names are configurable. Therefore custom schemas are supported as long as all user data is stored as attributes in one directory entry (except for roles/groups).
  • To use all features of this plugin, custom attributes are required. Please refer to the Airlock IAM documentation page \"What LDAP Directory Attributes does Airlock Login/IAM require?\" (then go to \"LDAP Attributes for User Data\").
    For details about the meaning of an attribute, please refer to the corresponding attribute setting's help in this plugin.
    Depending on the configured attributes, more or fewer features can be used.
  • User roles/groups can be read from the following:
    • From a user attribute with one or more values (see \"Roles Attribute\"). RDNs can be extracted from DNs stored in this attribute. This set of roles can also be written.
    • Roles can be looked up in other directory trees (e.g. groups subtree) by configuring the corresponding query, search depth and filters.
    • Nested/hierarchical roles are supported.

How Users are found
For all operations (load, store user, check password, change password, etc.), this plugin first looks up the user entry in the directory using the service account specified in the connection pool settings.
Multiple search trees can be specified in order to limit the search space (and therefore improve performance) when users are stored in multiple subtrees.

Reading / Writing Token/Credential Information
This plugin only provides very limited features for reading / writing token information: It only reads and writes a single attribute stored as user attribute (see \"Credential Data Attribute\").
It can be used for example to use the mobile phone number authentication token (for 2-factor authentication).
The plugin does not support token order flags, serial numbers, delivery dates, and alike. Please use an \"Ldap Credential Persister\" plugin for more features.

Differences to \"LDAP Password Authenticator\"
This plugin offers most features of the \"LDAP Password Authenticator\". Whereas the \"LDAP Password Authenticator\" only checks or sets the password this plugin also considers user information such as:
  • Locked flag
  • User validity attributes
  • Failed logins counter
  • Password change enforced flag
  • Password expiry date
  • etc.
The user information is also updated unless \"Update Login Statistics\" is disabled.

Read-only Attributes and Operational Attributes
In property \"Read-only Attributes\" attributes can be defined that are only read and never written by this plugin. This works not only for context data attributes but for all attributes potentially written by this plugin.
This enables the plugin to read operational attributes and use them in authentication or password management: some directories provide automatically updated operational attributes (e.g. latest password change) that may be read but not be written by LDAP clients. They can be configured in the corresponding attribute settings and put in the list of read-only attributes.
NOTE: Some directories do not provide operational attributes to LDAP clients and always return empty values when read using LDAP.

Limitation of Usage
Unlike the \"LDAP User Persister\", this plugin is not able to read the password hash from the directory. It can therefore not be used with a custom schema where the password hash is computed in Airlock IAM and only stored (and read) by this plugin.

Note on using this plugin only for password checks
When only using this plugin to check the user's password, additional features like role lookup or context data retrieval may not work as expected.

Related Plugins
The following plugins are highly related to this one and offer slightly more and different functions. In certain situations it may make sense to use a combination of them instead of using this plugin:

  • LDAP User Persister
  • LDAP Credential Persister
  • LDAP Password Authenticator

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:327: description = "

The name of the LDAP attribute holding the number of failed password reset attempts for flow-based password reset.

Security note: If this column is not specified, failed password reset attempts are not counted, which enables brute-force attacks.

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:329: suggestedValues = "failedPasswordResets" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:332: private String failedPasswordResetsAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:461: description = "Name of the LDAP attribute holding the number of completed resends of the channel verification token during the user's self-registration.", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:766: String failedPasswordResetsAttribute, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:849: this.failedPasswordResetsAttribute = failedPasswordResetsAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:1194: public PasswordResetResult resetPassword(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:1195: return this.service.resetPassword(userId, newPassword, context); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:1514: public String getFailedPasswordResetsAttribute() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:1515: return this.failedPasswordResetsAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:1929: private String failedPasswordResetsAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:2198: public LdapConnector.LdapConnectorBuilder failedPasswordResetsAttribute(String failedPasswordResetsAttribute) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:2199: this.failedPasswordResetsAttribute = failedPasswordResetsAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:2567: this.failedPasswordResetsAttribute, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:2680: + ", failedPasswordResetsAttribute=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapConnector.java:2681: + this.failedPasswordResetsAttribute work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersisterService.java:431: modItems, this.getConfig().getFailedPasswordResetsAttribute(), userInMemory.getFailedPasswordResets(), userInLdap.getFailedPasswordResets() work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersisterService.java:593: this.addIntValue(attrs, this.getConfig().getFailedPasswordResetsAttribute(), user.getFailedPasswordResets()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/ldap/LdapUserPersisterService.java:837: user.setFailedPasswordResets(LdapUtils.readInt(ldapUserEntry, this.getConfig().getFailedPasswordResetsAttribute(), user.getFailedPasswordResets())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:22: private String tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:28: private String obsoletesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:38: private String activatesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:66: public String getTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:67: return this.tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:70: public void setTokenId(String tokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:71: this.tokenId = tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:76: return this.tokenId != null; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:132: public String getObsoletesTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:133: return this.obsoletesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:137: public void setObsoletesTokenId(String obsoletesTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:138: this.obsoletesTokenId = obsoletesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:247: public String getActivatesTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:248: return this.activatesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:252: public void setActivatesTokenId(String activatesTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:253: this.activatesTokenId = activatesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:475: return this.isPersisted() && other.isPersisted() ? this.getTokenId().equals(other.getTokenId()) : false; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:480: return this.isPersisted() ? new HashCodeBuilder().append(this.getTokenId()).hashCode() : super.hashCode(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:487: public static TokenBean newToken(String tokenType, String tokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/TokenBeanImpl.java:489: token.setTokenId(tokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:84: description = "

The name of the column holding the token identity (primary key).

\n

This column needs to be set to auto_increment (H2, mysql,..) or the database sequence name must be configured (Oracle).

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:86: suggestedValues = "token_id" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:89: private String tokenColTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:105: suggestedValues = "obsoletes_token_id" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:108: private String tokenColObsoletesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:133: suggestedValues = "activates_token_id" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:136: private String tokenColActivatesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:202: suggestedValues = "ta_token_id" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:205: private String tokenAssignmentColTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:316: public void delete(String tokenId) throws NotFoundException, NotUniqueException, PersisterException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:320: StringBuilder sql = new StringBuilder().append("DELETE FROM ").append(this.tokenTable).append(" WHERE ").append(this.tokenColTokenId).append(" = ? "); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:324: stmt.setLong(1, this.parseTokenId(tokenId)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:327: throw new NotFoundException("Token with id '" + tokenId + "' not found"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:331: throw new NotUniqueException("Multiple tokens found with id '" + tokenId + "'"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:338: throw new PersisterException("Error while deleting token with id '" + tokenId + "'", e); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:345: this.delete(token.getTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:350: Preconditions.checkArgument(tokenToBeAdded.getTokenId() == null, "Token Id must not be set when inserting new token."); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:355: ((TokenBeanImpl)tokenToBeAdded).setTokenId(tokenFromDb.getTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:370: try (PreparedStatement stmt = conn.prepareStatement(sql, new String[]{this.tokenColTokenId})) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:375: return this.getInTrx(Long.toString(this.getTokenId(stmt)), conn); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:387: private long getTokenId(PreparedStatement stmt) throws SQLException, PersisterException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:390: throw new PersisterException("Could not retrieve last generated tokenId"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:392: LOG.debug("Generated token ID: " + rs.getString(1)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:393: long tokenId = rs.getLong(1); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:397: return tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:407: columns.add(this.tokenColTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:420: this.addIfConfigured(columns, values, this.tokenColObsoletesTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:428: this.addIfConfigured(columns, values, this.tokenColActivatesTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:457: this.addIfConfiguredAndChanged(columns, this.tokenColObsoletesTokenId, tokenInMemory.getObsoletesTokenId(), tokenFromDb.getObsoletesTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:469: this.addIfConfiguredAndChanged(columns, this.tokenColActivatesTokenId, tokenInMemory.getActivatesTokenId(), tokenFromDb.getActivatesTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:491: + this.tokenColTokenId work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:514: + this.tokenAssignmentColTokenId work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:521: private PreparedStatement prepareUpdateTokenAssignmentStatement(PreparedStatement stmt, TokenAssignment taInMemory, TokenAssignment taFromDb, long tokenId) throws SQLException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:561: stmt.setLong(index.incrementAndGet(), tokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:589: this.setValue(stmt, index, this.parseTokenId(token.getObsoletesTokenId()), this.shouldSet(this.tokenColObsoletesTokenId)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:597: this.setValue(stmt, index, this.parseTokenId(token.getActivatesTokenId()), this.shouldSet(this.tokenColActivatesTokenId)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:649: private Long parseTokenId(String id) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:659: TokenBean db = this.getInTrx(token.getTokenId(), conn); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:668: throw new NotFoundException(String.format("Token with ID %s not found.", token.getTokenId())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:672: throw new NotUniqueException(String.format("Multiple tokens with ID %s found.", token.getTokenId())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:710: this.parseTokenId(tokenInMemory.getObsoletesTokenId()), work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:711: this.columnConfiguredAndValueChanged(this.tokenColObsoletesTokenId, tokenInMemory.getObsoletesTokenId(), tokenFromDb.getObsoletesTokenId()) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:762: this.parseTokenId(tokenInMemory.getActivatesTokenId()), work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:763: this.columnConfiguredAndValueChanged(this.tokenColActivatesTokenId, tokenInMemory.getActivatesTokenId(), tokenFromDb.getActivatesTokenId()) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:843: stmt.setLong(index.incrementAndGet(), this.parseTokenId(tokenFromDb.getTokenId())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:876: int updateCount = this.prepareUpdateTokenAssignmentStatement(stmt, ta, dbTa, this.parseTokenId(db.getTokenId())).executeUpdate(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:878: throw new NotFoundException(String.format("Token assignment with ID %s, %s not found.", db.getTokenId(), dbTa.getUser())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:882: throw new NotUniqueException(String.format("Multiple token assignments with ID %s, %s found.", db.getTokenId(), dbTa.getUser())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:890: String sql = "DELETE FROM " + this.tokenAssignmentTable + " WHERE " + this.tokenAssignmentColTokenId + " = ? AND " + this.tokenAssignmentColUser + " = ?"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:893: stmt.setLong(1, this.parseTokenId(token.getTokenId())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:897: throw new PersisterException("TokenAssignment not found for user '" + ta.getUser() + "' and token '" + token.getTokenId() + "'"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:901: throw new PersisterException("Multiple TokenAssignments found for user '" + ta.getUser() + "' and token '" + token.getTokenId() + "'"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:913: .append(this.tokenAssignmentColTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:950: stmt.setLong(++idx, this.parseTokenId(token.getTokenId())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:971: throw new PersisterException("Could not insert TokenAssignment for user '" + ta.getUser() + "' and token '" + token.getTokenId() + "'"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1041: this.tokenAssignmentColTokenId, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1096: if (filter.getTokenId() != null) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1097: this.appendFilterWhereClause(sql, this.tokenColTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1098: sqlValues.add(filter.getTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1114: sql.append(this.tokenColObsoletesTokenId).append(" = ?"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1115: sqlValues.add(this.parseTokenId(filter.getObsoletesToken().getTokenId())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1121: this.tokenColObsoletesTokenId, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1297: .append(this.tokenColTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1301: .append(this.tokenAssignmentColTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1317: .append(this.tokenColTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1321: .append(this.tokenAssignmentColTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1331: .append(this.tokenAssignmentColTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1333: .append(this.tokenColTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1369: .append(this.tokenAssignmentColTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1373: .append(this.tokenAssignmentColTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1377: .append(this.tokenColTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1382: public TokenBean get(String tokenId) throws NotFoundException, PersisterException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1387: TokenBean token = this.getInTrx(tokenId, conn); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1391: throw this.tryRollbackAndRethrow(conn, "searching token " + LogUtil.quote(tokenId), e); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1394: throw new PersisterException("Error while searching token " + LogUtil.quote(tokenId) + ": " + e.getMessage(), e); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1399: private TokenBean getInTrx(String tokenId, Connection conn) throws SQLException, NotFoundException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1401: sql.append(this.getSelectPart()).append(" WHERE ").append(this.tokenColTokenId).append(" = ?"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1406: stmt.setLong(1, this.parseTokenId(tokenId)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1410: throw new NotFoundException("No token found with id '" + tokenId + "'"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1431: boolean hasTokenAssignments = rs.getObject(this.tokenAssignmentColTokenId) != null; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1434: while (!afterLastRow && rs.getLong(this.tokenColTokenId) == this.parseTokenId(token.getTokenId())) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1464: token.setTokenId(String.valueOf(rs.getLong(this.tokenColTokenId))); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1469: token.setObsoletesTokenId(this.getNullSafeLongValueAsString(rs, this.tokenColObsoletesTokenId)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1478: token.setActivatesTokenId(this.getNullSafeLongValueAsString(rs, this.tokenColActivatesTokenId)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1522: String tokenColTokenId, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1527: String tokenColObsoletesTokenId, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1535: String tokenColActivatesTokenId, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1553: String tokenAssignmentColTokenId, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1569: this.tokenColTokenId = tokenColTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1574: this.tokenColObsoletesTokenId = tokenColObsoletesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1582: this.tokenColActivatesTokenId = tokenColActivatesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1600: this.tokenAssignmentColTokenId = tokenAssignmentColTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1623: private String tokenColTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1633: private String tokenColObsoletesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1649: private String tokenColActivatesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1685: private String tokenAssignmentColTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1732: public DatabaseTokenPersister.DatabaseTokenPersisterBuilder tokenColTokenId(String tokenColTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1733: this.tokenColTokenId = tokenColTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1762: public DatabaseTokenPersister.DatabaseTokenPersisterBuilder tokenColObsoletesTokenId(String tokenColObsoletesTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1763: this.tokenColObsoletesTokenId = tokenColObsoletesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1810: public DatabaseTokenPersister.DatabaseTokenPersisterBuilder tokenColActivatesTokenId(String tokenColActivatesTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1811: this.tokenColActivatesTokenId = tokenColActivatesTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1918: public DatabaseTokenPersister.DatabaseTokenPersisterBuilder tokenAssignmentColTokenId(String tokenAssignmentColTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1919: this.tokenAssignmentColTokenId = tokenAssignmentColTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:1995: this.tokenColTokenId, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:2000: this.tokenColObsoletesTokenId, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:2008: this.tokenColActivatesTokenId, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:2026: this.tokenAssignmentColTokenId, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:2050: + ", tokenColTokenId=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:2051: + this.tokenColTokenId work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:2060: + ", tokenColObsoletesTokenId=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:2061: + this.tokenColObsoletesTokenId work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:2076: + ", tokenColActivatesTokenId=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:2077: + this.tokenColActivatesTokenId work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:2112: + ", tokenAssignmentColTokenId=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DatabaseTokenPersister.java:2113: + this.tokenAssignmentColTokenId work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:51: public void removeToken(String tokenId) throws PersisterException, NotFoundException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:52: this.tokenPersister.delete(tokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:84: return this.tokenPersister.get(token.getTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:88: public TokenBean getToken(String tokenId) throws PersisterException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:89: return this.tokenPersister.get(tokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:99: token.setObsoletesTokenId(obsoleteToken.getTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:101: token.setObsoletesTokenId(null); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:109: if (token.getObsoletesTokenId() != null) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:110: TokenBean obsoleteToken = this.tokenPersister.get(token.getObsoletesTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:114: token.setObsoletesTokenId(null); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:126: token.setActivatesTokenId(tokenToActivate.getTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:128: token.setActivatesTokenId(null); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:136: if (token.getActivatesTokenId() != null) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/persistency/token/DefaultTokenDataProvider.java:137: TokenBean tokenToActivate = this.tokenPersister.get(token.getActivatesTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAActivationStepImpl.java:31:import com.airlock.iam.flow.shared.domain.service.airlock2fa.Airlock2FAAuthTokenIdService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAActivationStepImpl.java:45: private final Provider authTokenIdService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAActivationStepImpl.java:57: Provider authTokenIdService, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAActivationStepImpl.java:66: this.authTokenIdService = authTokenIdService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAActivationStepImpl.java:175: ((Airlock2FAAuthTokenIdService)this.authTokenIdService.get()).handleSuccessfulUsage(Airlock2FAFactor.ONE_TOUCH, accountId, deviceId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAAuthenticationDataValueMapProvider.java:10:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAAuthenticationDataValueMapProvider.java:100: return ((Airlock2FAFlowSessionAttributesService)this.attributesService.get()).loadAuthTokenId().map(Airlock2FAAuthTokenId::deviceId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/UserBasedAuthenticatorSelector.java:16:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/UserBasedAuthenticatorSelector.java:118: public PasswordResetResult resetPassword(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/UserBasedAuthenticatorSelector.java:119: return this.selectPasswordService(userId).resetPassword(userId, newPassword, context); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:27:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:52:import com.airlock.iam.factor.domain.service.airlock2fa.Airlock2FAApprovalAuthTokenIdService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:92: private final Provider> authTokenIdService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:112: @NonNull Provider> authTokenIdService, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:123: if (authTokenIdService == null) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:124: throw new NullPointerException("authTokenIdService is marked non-null but is null"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:133: this.authTokenIdService = authTokenIdService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:176: Result authTokenIdResult = this.loadAuthTokenId(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:177: if (authTokenIdResult.containsFailure(Airlock2FAApprovalAuthTokenIdService.Airlock2FAAuthTokenIdFailure.INVALID_FORMAT)) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:178: LOG.warn(EDefaultLogType.GENERIC_LOG_TYPE, "The format of the provided Auth Token ID is invalid."); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:182: Optional authTokenId = authTokenIdResult.peek(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:183: if (authTokenId.isPresent()) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:185: && this.stepSession().isDeviceInCooldown(authTokenId.get().deviceId())) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:188: "The provided Auth Token ID corresponds to a device which is currently in cooldown and can not be used for approval." work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:193: if (!this.isAuthTokenIdConsistent(stepSession, authTokenId.get())) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:194: LOG.warn(EDefaultLogType.GENERIC_LOG_TYPE, "The content of the provided Auth Token ID is invalid or inconsistent."); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:199: authTokenId.ifPresent(tokenId -> stepSession.selectBasedOnAuthTokenId(tokenId, ((Airlock2FAApprovalStepSettings)this.settings.get()).deviceSettings())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:228: private Result loadAuthTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:229: return ((Optional)this.authTokenIdService.get()) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:230: .map(Airlock2FAApprovalAuthTokenIdService::loadAuthTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:231: .orElse(Result.failure(Airlock2FAApprovalAuthTokenIdService.Airlock2FAAuthTokenIdFailure.NOT_PRESENT)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:255: private boolean isAuthTokenIdConsistent(Airlock2FAApprovalStepSession stepSession, Airlock2FAAuthTokenId authTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:257: .deviceWithId(authTokenId.deviceId()) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:260: authTokenId.loginFactor(), ((Airlock2FAApprovalStepSettings)this.settings.get()).deviceSettings().payloadEncryptionSettings() work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:366: && !this.loadAuthTokenId().isPresent()) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:1021: private Provider> authTokenIdService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:1106: public Airlock2FAApprovalStepImpl.Airlock2FAApprovalStepImplBuilder authTokenIdService( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:1107: @NonNull Provider> authTokenIdService work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:1109: if (authTokenIdService == null) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:1110: throw new NullPointerException("authTokenIdService is marked non-null but is null"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:1113: this.authTokenIdService = authTokenIdService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:1214: this.authTokenIdService, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:1242: + ", authTokenIdService=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepImpl.java:1243: + this.authTokenIdService work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/AcceptingPasswordService.java:9:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/AcceptingPasswordService.java:28: public PasswordResetResult resetPassword(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/AcceptingPasswordService.java:29: return new PasswordResetResult().setPasswordChangeSucceeded(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/DummyPasswordService.java:14:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/DummyPasswordService.java:91: public PasswordResetResult resetPassword(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/DummyPasswordService.java:94: PasswordResetResult reRes = new PasswordResetResult(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepSession.java:17:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepSession.java:206: public void selectBasedOnAuthTokenId(Airlock2FAAuthTokenId authTokenId, Airlock2FADeviceSettings settings) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepSession.java:207: this.remainingDevices().deviceWithId(authTokenId.deviceId()).ifPresent(device -> this.selectDevice(device, settings.payloadEncryptionSettings())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/airlock2fa/Airlock2FAApprovalStepSession.java:208: if (authTokenId.loginFactor() == Airlock2FAFactor.MOBILE_ONLY && settings.factorPriority().contains(Airlock2FAFactor.MOBILE_ONLY)) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:8:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:22: private PasswordService resetPasswordPasswordService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:35: public PasswordResetResult resetPassword(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:36: return this.resetPasswordPasswordService.resetPassword(userId, newPassword, context); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:43: this.resetPasswordPasswordService.setPasswordPolicy(policy); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:57: PasswordService checkPasswordPasswordService, PasswordService changePasswordPasswordService, PasswordService resetPasswordPasswordService work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:61: this.resetPasswordPasswordService = resetPasswordPasswordService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:71: private PasswordService resetPasswordPasswordService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:90: public CompositePasswordService.CompositePasswordServiceBuilder resetPasswordPasswordService(PasswordService resetPasswordPasswordService) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:91: this.resetPasswordPasswordService = resetPasswordPasswordService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:97: return new CompositePasswordService(this.checkPasswordPasswordService, this.changePasswordPasswordService, this.resetPasswordPasswordService); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:107: + ", resetPasswordPasswordService=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/CompositePasswordService.java:108: + this.resetPasswordPasswordService work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeToken.java:15: private final RememberMeTokenId id; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeToken.java:31: @NonNull RememberMeTokenId id, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeToken.java:94: public RememberMeTokenId getId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeToken.java:169: private RememberMeTokenId id; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeToken.java:190: public RememberMeToken.RememberMeTokenBuilder id(@NonNull RememberMeTokenId id) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeTokenRepository.java:14: Optional findBy(RememberMeTokenId var1); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeTokenRepository.java:20: boolean deleteBy(RememberMeTokenId var1); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeTokenId.java:8:public final class RememberMeTokenId implements Identity { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeTokenId.java:11: private RememberMeTokenId(@NonNull UUID id) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeTokenId.java:19: public static RememberMeTokenId newRememberMeTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeTokenId.java:20: return new RememberMeTokenId(UUID.randomUUID()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeTokenId.java:23: public static RememberMeTokenId rememberMeTokenId(String id) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeTokenId.java:24: return new RememberMeTokenId(UUID.fromString(id)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/rememberme/RememberMeTokenId.java:47: } else if (!(o instanceof RememberMeTokenId other)) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/PersisterPasswordService.java:22:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/PersisterPasswordService.java:256: PasswordService.PasswordResetContext resetContext, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/PersisterPasswordService.java:266: if (resetContext.equals(PasswordService.PasswordResetContext.BY_USER)) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/PersisterPasswordService.java:269: if (!resetContext.equals(PasswordService.PasswordResetContext.BY_ADMIN)) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/PersisterPasswordService.java:270: throw new PasswordServiceException("The provided PasswordResetContext is not supported: " + resetContext.name()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/PersisterPasswordService.java:341: public PasswordResetResult resetPassword(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/PersisterPasswordService.java:345: PasswordResetResult reRes = new PasswordResetResult(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/HttpPasswordService.java:12:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/HttpPasswordService.java:328: public PasswordResetResult resetPassword(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/cronto/CrontoActivationStepImpl.java:28:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdFlowSessionAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/cronto/CrontoActivationStepImpl.java:229: .putOrMergeAttribute(AuthTokenIdFlowSessionAttribute.authTokenIdFlowSessionAttribute(deviceInfo.toString())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/DummyTwoStepAuthenticator.java:187: AuthenticationFailedChallenge.INDEX_CHALLENGE.createResult(this.generateIndexChallenges(3)).setTokenIdentifier("123456789") work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/DummyTwoStepAuthenticator.java:195: AuthenticationFailedChallenge.INDEX_CHALLENGE.createResult(this.generateIndexChallenges(1)).setTokenIdentifier("123456789") work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/DummyTwoStepAuthenticator.java:203: AuthenticationFailedChallenge.MATRIX_CHALLENGE.createResult(generateMatrixChallenges(3)).setTokenIdentifier("123456789") work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/DummyTwoStepAuthenticator.java:211: AuthenticationFailedChallenge.MATRIX_CHALLENGE.createResult(generateMatrixChallenges(1)).setTokenIdentifier("123456789") work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/DummyTwoStepAuthenticator.java:219: AuthenticationFailedChallenge.SIGNATURE_CHALLENGE.createResult("CHALLENGE").setTokenIdentifier("123456789") work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/DummyTwoStepAuthenticator.java:292: return AuthenticationFailedChallenge.MATRIX_CHALLENGE.createResult(generateMatrixChallenges(3)).setTokenIdentifier("123456789"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/DummyTwoStepAuthenticator.java:296: return AuthenticationFailedChallenge.INDEX_CHALLENGE.createResult(this.generateIndexChallenges(3)).setTokenIdentifier("123456789"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/cronto/CrontoCheckingStepImpl.java:21:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/cronto/CrontoCheckingStepImpl.java:22:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdFlowSessionAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/cronto/CrontoCheckingStepImpl.java:120: .tryGetAttribute(AuthTokenIdAttribute.class) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/cronto/CrontoCheckingStepImpl.java:122: .map(AuthTokenIdAttribute::getAuthTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/cronto/CrontoCheckingStepImpl.java:127: this.writeAuthTokenIdIntoFlowAttributeIfPresent(result); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/cronto/CrontoCheckingStepImpl.java:157: private void writeAuthTokenIdIntoFlowAttributeIfPresent(CrontoCheckingService.CrontoCheckResult result) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/cronto/CrontoCheckingStepImpl.java:159: String authTokenId = CrontoUsedDeviceInfo.of(result.getUsedDevice().orElseThrow(), result.getUsedMethod()).toString(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/cronto/CrontoCheckingStepImpl.java:160: ((FlowAttributeRepository)this.flowAttributes.get()).putOrMergeAttribute(AuthTokenIdFlowSessionAttribute.authTokenIdFlowSessionAttribute(authTokenId)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/UserBasedPasswordServiceSelector.java:11:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/UserBasedPasswordServiceSelector.java:85: public PasswordResetResult resetPassword(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/UserBasedPasswordServiceSelector.java:86: return this.selectPasswordService(userId).resetPassword(userId, newPassword, context); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/session/PublicFlowsSessionUserSessionConnector.java:11:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdFlowSessionAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/session/PublicFlowsSessionUserSessionConnector.java:71: .tryGetAttribute(AuthTokenIdFlowSessionAttribute.class) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/valueprovider/AuthenticationDataValueMapProvider.java:7:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdFlowSessionAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/valueprovider/AuthenticationDataValueMapProvider.java:40: this.findAuthTokenId().map(AuthTokenIdFlowSessionAttribute::getAuthTokenId).ifPresent(authTokenId -> map.put("auth-token-id", authTokenId)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/valueprovider/AuthenticationDataValueMapProvider.java:44: private Optional findAuthTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/valueprovider/AuthenticationDataValueMapProvider.java:45: return ((FlowAttributeService)this.attributes.get()).findAttribute(AuthTokenIdFlowSessionAttribute.class); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:47: public void removeToken(String deviceTokenId, String username) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:49: ((TokenDataProvider)this.tokenDataProvider.get()).removeToken(deviceTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:64: public Optional getDeviceToken(String username, String deviceTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:65: List res = this.getDeviceTokensFromProvider(username, deviceTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:71: throw new FailureException("Found more than one device token for user \"" + username + "\" and device token ID \"" + deviceTokenId + "\""); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:86: public Optional findUserWithDeviceToken(String deviceTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:87: List res = this.getDeviceTokensById(deviceTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:93: throw new FailureException("Found more than one device token with ID \"" + deviceTokenId + "\""); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:97: public boolean hasEnabledAndValidDeviceToken(String username, String deviceTokenId, Instant now) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:98: List res = this.getEnabledDeviceTokens(username, deviceTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:104: throw new FailureException("Found more than one device token for user \"" + username + "\" and device token ID \"" + deviceTokenId + "\""); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:116: private List getDeviceTokensById(String deviceTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:118: return ((TokenDataProvider)this.tokenDataProvider.get()).get(deviceTokenFilter().filterTokenId(deviceTokenId)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:120: throw new FailureException("Error finding existing device token with ID \"" + deviceTokenId + "\"", e); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:124: private List getEnabledDeviceTokens(String username, String deviceTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:126: return ((TokenDataProvider)this.tokenDataProvider.get()).get(deviceTokenFilter(username).filterTokenId(deviceTokenId).filterActive(true)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:128: throw new FailureException("Error finding existing device tokens for user \"" + username + "\" and device token ID \"" + deviceTokenId + "\"", e); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:132: private List getDeviceTokensFromProvider(String username, String deviceTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:134: return ((TokenDataProvider)this.tokenDataProvider.get()).get(deviceTokenFilter(username).filterTokenId(deviceTokenId)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenRepository.java:136: throw new FailureException("Error finding existing device tokens for user \"" + username + "\" and device token ID \"" + deviceTokenId + "\"", e); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/MatrixcardAuthenticator.java:345: ? AuthenticationFailedChallenge.INDEX_CHALLENGE.createResult(indicesOnPrintedList).setTokenIdentifier(tanChallenge.getListId()) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/MatrixcardAuthenticator.java:346: : AuthenticationFailedChallenge.RESPONSE_WRONG_INDEX_CHALLENGE.createResult(indicesOnPrintedList).setTokenIdentifier(tanChallenge.getListId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/MatrixcardAuthenticator.java:368: ? AuthenticationFailedChallenge.MATRIX_CHALLENGE.createResult(coords).setTokenIdentifier(tanChallenge.getListId()) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/MatrixcardAuthenticator.java:369: : AuthenticationFailedChallenge.RESPONSE_WRONG_MATRIX_CHALLENGE.createResult(coords).setTokenIdentifier(tanChallenge.getListId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/MatrixcardAuthenticator.java:394: : AuthenticationFailedChallenge.RESPONSE_EXPIRED.createResult().setTokenIdentifier(session.getTanServiceChallenge().getListId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/MatrixcardAuthenticator.java:401: : AuthenticationFailedChallenge.RESPONSE_EXPIRED.createResult().setTokenIdentifier(session.getTanServiceChallenge().getListId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/MatrixcardAuthenticator.java:466: return AuthenticationFailedChallenge.RESPONSE_WRONG.createResult().setTokenIdentifier(session.getTanServiceChallenge().getListId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenAuthStepSession.java:12: private static final String TOKEN_ID_KEY = "tokenId"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenAuthStepSession.java:45: .put("tokenId", this.challenge.get().getDeviceTokenId()) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenAuthStepSession.java:58: values.get("tokenId"), values.get("challenge"), values.demapifyValue("validTo", MapificationUtils::demapifyInstant) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/DummyMatrixAuthenticator.java:86: AuthenticationFailedChallenge.MATRIX_CHALLENGE.createResult(generateMatrixChallenge()).setTokenIdentifier("123456789") work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/DummyMatrixAuthenticator.java:111: AuthenticationFailedChallenge.MATRIX_CHALLENGE.createResult(generateMatrixChallenge()).setTokenIdentifier("123456789") work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceToken.java:4:import com.airlock.iam.common.api.domain.model.device.DeviceTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceToken.java:89: return this.delegate.getTokenId(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceToken.java:92: public DeviceTokenId getTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceToken.java:93: return new DeviceTokenId(this.getId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/LdapPasswordAuthenticatorService.java:33:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/LdapPasswordAuthenticatorService.java:349: public PasswordResetResult resetPassword(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/LdapPasswordAuthenticatorService.java:352: PasswordResetResult res = new PasswordResetResult(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/LdapPasswordAuthenticatorService.java:363: this.config.isActiveDirectoryCheckPasswordPoliciesForUserInitiatedModification() && context != PasswordService.PasswordResetContext.BY_ADMIN work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/LdapPasswordAuthenticatorService.java:373: public PasswordPolicyCheckResult checkPasswordPolicyForReset(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/LdapPasswordAuthenticatorService.java:375: if (context.equals(PasswordService.PasswordResetContext.BY_USER)) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/LdapPasswordAuthenticatorService.java:378: if (!context.equals(PasswordService.PasswordResetContext.BY_ADMIN)) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/LdapPasswordAuthenticatorService.java:379: throw new PasswordServiceException("The provided PasswordResetContext is not supported: " + context.name()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:9: private final String deviceTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:13: public DeviceTokenChallenge(String deviceTokenId, String challenge) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:14: this.deviceTokenId = deviceTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:19: public DeviceTokenChallenge(String deviceTokenId, String challenge, Instant validTo) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:20: this.deviceTokenId = deviceTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:30: public String getDeviceTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:31: return this.deviceTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:52: Object this$deviceTokenId = this.deviceTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:53: Object other$deviceTokenId = other.deviceTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:54: if (this$deviceTokenId == null ? other$deviceTokenId == null : this$deviceTokenId.equals(other$deviceTokenId)) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:75: Object $deviceTokenId = this.deviceTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:76: result = result * 59 + ($deviceTokenId == null ? 43 : $deviceTokenId.hashCode()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenChallenge.java:86: return "DeviceTokenChallenge(deviceTokenId=" + this.getDeviceTokenId() + ", challenge=" + this.getChallenge() + ", validTo=" + this.getValidTo() + ")"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/LdapPasswordAuthenticator.java:16:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/LdapPasswordAuthenticator.java:376: public PasswordResetResult resetPassword(String userId, String newPassword, PasswordService.PasswordResetContext context) throws PasswordServiceException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/LdapPasswordAuthenticator.java:377: return this.service.resetPassword(userId, newPassword, context); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:9:public final class AuthTokenIdFlowSessionAttribute implements UserSessionScopedFlowAttribute { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:10: public static final String AUTH_TOKEN_ID_KEY = "authTokenIdKey"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:11: private final String authTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:13: public static AuthTokenIdFlowSessionAttribute authTokenIdFlowSessionAttribute(String rawAuthTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:14: return new AuthTokenIdFlowSessionAttribute(rawAuthTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:17: public AuthTokenIdFlowSessionAttribute mergeWith(AuthTokenIdFlowSessionAttribute newAttribute) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:23: return MapifiedValuesBuilder.mapifiedValues().put("authTokenIdKey", this.authTokenId).build(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:26: public AuthTokenIdFlowSessionAttribute copyAttribute() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:27: return authTokenIdFlowSessionAttribute(this.authTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:30: public static AuthTokenIdFlowSessionAttribute deserializeSessionAttribute(Map rawValues) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:31: return authTokenIdFlowSessionAttribute(rawValues.get("authTokenIdKey")); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:34: public static AuthTokenIdFlowSessionAttribute demapify(MapifiedValues values) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:35: return new AuthTokenIdFlowSessionAttribute(values.get("authTokenIdKey")); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:39: public AuthTokenIdFlowSessionAttribute(String authTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:40: this.authTokenId = authTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:48: } else if (!(o instanceof AuthTokenIdFlowSessionAttribute other)) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:51: Object this$authTokenId = this.authTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:52: Object other$authTokenId = other.authTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:53: return this$authTokenId == null ? other$authTokenId == null : this$authTokenId.equals(other$authTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:62: Object $authTokenId = this.authTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:63: return result * 59 + ($authTokenId == null ? 43 : $authTokenId.hashCode()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:69: return "AuthTokenIdFlowSessionAttribute(authTokenId=" + this.getAuthTokenId() + ")"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:73: public String getAuthTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdFlowSessionAttribute.java:74: return this.authTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:10:public final class AuthTokenIdAttribute implements SingleFlowScopedFlowAttribute { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:11: private static final String AUTH_TOKEN_ID_KEY = "id"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:12: private static final ELogger LOG = ELoggerFactory.getLogger(AuthTokenIdAttribute.class); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:13: private final String authTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:15: public static AuthTokenIdAttribute authTokenIdAttribute(String rawAuthTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:16: return new AuthTokenIdAttribute(rawAuthTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:19: private AuthTokenIdAttribute(String rawAuthTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:20: this.authTokenId = rawAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:23: public AuthTokenIdAttribute mergeWith(AuthTokenIdAttribute newAuthTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:24: LOG.debug("Replacing authTokenId"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:25: return newAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:30: return MapifiedValuesBuilder.mapifiedValues().put("id", this.authTokenId).build(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:33: public static AuthTokenIdAttribute demapify(MapifiedValues values) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:34: return authTokenIdAttribute(values.get("id")); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:38: public String getAuthTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:39: return this.authTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:47: } else if (!(o instanceof AuthTokenIdAttribute other)) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:50: Object this$authTokenId = this.authTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:51: Object other$authTokenId = other.authTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:52: return this$authTokenId == null ? other$authTokenId == null : this$authTokenId.equals(other$authTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:61: Object $authTokenId = this.authTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:62: return result * 59 + ($authTokenId == null ? 43 : $authTokenId.hashCode()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/attributes/AuthTokenIdAttribute.java:68: return "AuthTokenIdAttribute(authTokenId=" + this.getAuthTokenId() + ")"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/GenericLdapAuthenticationFailureMapper.java:13: description = "Maps messages returned in LDAP exceptions (in the case of bind failures) to authentication result types. Known Active Directory error message snippets are:
  • data 525\t- user not found
  • data 52e\t- invalid credentials
  • data 530\t- not permitted to logon at this time
  • data 531\t- not permitted to logon at this workstation
  • data 532\t- password expired
  • data 533\t- account disabled
  • data 701\t- account expired
  • data 773\t- user must reset password
  • data 775\t- user account locked
", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/GenericLdapAuthenticationFailureMapper.java:62: return LdapAuthenticationFailureMapper.DetailedFailure.MUST_RESET_PASSWORD; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/ActiveDirectoryPasswordPolicy.java:28: description = "A password policy that validates a password against different requirements. Those requirements are retrieved from the configured Active Directory connector. Validation can be done for different contexts, e.g. only on login or on password reset.

Note: This plugin does only check against certain requirements of the current password if this information is made available in the user data (e.g. latest-password-change-timestamp). Whether this is the case, may depend on the configuration of the underlying user persister.

" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/ActiveDirectoryAuthenticationFailureMapper.java:15: description = "Maps messages returned in LDAP exceptions (in the case of bind failures) to authentication result types. Known Active Directory errors are:
  • data 525\t- user not found
  • data 52e\t- invalid credentials
  • data 530\t- not permitted to logon at this time
  • data 531\t- not permitted to logon at this workstation
  • data 532\t- password expired
  • data 533\t- account disabled
  • data 701\t- account expired
  • data 773\t- user must reset password
  • data 775\t- user account locked
" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/ActiveDirectoryAuthenticationFailureMapper.java:26: private static final Pattern MUST_RESET_PASSWORD = Pattern.compile("^.*DSID-.*, data 773,.*$"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/ActiveDirectoryAuthenticationFailureMapper.java:39: || failure == LdapAuthenticationFailureMapper.DetailedFailure.MUST_RESET_PASSWORD) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/ActiveDirectoryAuthenticationFailureMapper.java:74: } else if (MUST_RESET_PASSWORD.matcher(diagnosticMessage).matches()) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/ldap/ActiveDirectoryAuthenticationFailureMapper.java:75: return LdapAuthenticationFailureMapper.DetailedFailure.MUST_RESET_PASSWORD; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/mtan/SmsAuthenticatorStep.java:542: result.addValueToContextData("authTokenId", MtanUsedDeviceInfo.of(session.getChosenPhoneNumber().getId()).toString()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/mtan/TokenDataMtanHandler.java:123: String.format("User %s deleted mTAN token with ID %s.", LogUtil.quote(userName), LogUtil.quote(tokenBean.getTokenId())) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/mtan/TokenDataMtanHandler.java:125: UserTrailLogger.log(userName, String.format("Deleted mTAN token with ID %s.", LogUtil.quote(tokenBean.getTokenId()))); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/mtan/TokenDataMtanHandler.java:130: String.format("deleted mTAN token data with ID %s for user %s.", LogUtil.quote(tokenBean.getTokenId()), LogUtil.quote(userName)) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/impl/authen/mtan/TokenDataMtanHandler.java:133: userName, String.format("Administrator %s deleted mTAN token with ID %s.", LogUtil.quote(deletingUser), LogUtil.quote(tokenBean.getTokenId())) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingResultMapper.java:86: challengeBuilder.listId(AuthenticationFailedChallenge.INDEX_CHALLENGE.getTokenIdentifier(toFailedChallenge(authResult))); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingResultMapper.java:98: challengeBuilder.listId(AuthenticationFailedChallenge.MATRIX_CHALLENGE.getTokenIdentifier(toFailedChallenge(authResult))); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/sso/IdentityPropagator.java:16: String IDENTITY_PROPAGATOR_AUTH_TOKEN_ID = "AUTH_TOKEN_ID"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/MtanOtpCheckingStepImpl.java:107: public AuthenticationStepResult selectMtanToken(String mtanTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/MtanOtpCheckingStepImpl.java:110: boolean selectionSuccessful = ((MtanOtpCheckingService)this.service.get()).selectMtanToken(mtanTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/cronto/CrontoChallenge.java:16: Optional getChallengeTokenId(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:17: private final MtanNumberId tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:35: .put("mtan", this.tokenId.getId()) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:52: public MtanNumberId getTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:53: return this.tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:69: public SelectedMtanToken(@NonNull MtanNumberId tokenId, @NonNull PhoneNumber phoneNumber, @NonNull Optional label) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:70: if (tokenId == null) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:71: throw new NullPointerException("tokenId is marked non-null but is null"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:82: this.tokenId = tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:90: private MtanNumberId tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:101: public SelectedMtanToken.SelectedMtanTokenBuilder tokenId(@NonNull MtanNumberId tokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:102: if (tokenId == null) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:103: throw new NullPointerException("tokenId is marked non-null but is null"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:106: this.tokenId = tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:132: return new SelectedMtanToken(this.tokenId, this.phoneNumber, this.label); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mtan/SelectedMtanToken.java:138: return "SelectedMtanToken.SelectedMtanTokenBuilder(tokenId=" + this.tokenId + ", phoneNumber=" + this.phoneNumber + ", label=" + this.label + ")"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/tokenservice/GenericTokenService.java:108: return "Token of type \"" + token.getType() + "\" with ID \"" + token.getTokenId() + "\""; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/tokenservice/VascoTokenService.java:200: if (token.getObsoletesTokenId() == null || !token.getObsoletesTokenId().equals(existingActiveToken.getDelegate().getTokenId())) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoCheckingStepImpl.java:16:import com.airlock.iam.factor.domain.model.fido.FidoAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoCheckingStepImpl.java:29:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoCheckingStepImpl.java:30:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdFlowSessionAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoCheckingStepImpl.java:163: private Optional fidoCredentialFromAuthTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoCheckingStepImpl.java:165: .tryGetAttribute(AuthTokenIdAttribute.class) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoCheckingStepImpl.java:166: .map(AuthTokenIdAttribute::getAuthTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoCheckingStepImpl.java:167: .flatMap(FidoAuthTokenId::parse); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoCheckingStepImpl.java:188: data -> ((FidoAuthenticationService)this.service.get()).generateChallengeWithApprovalData(fidoUser, data, this.fidoCredentialFromAuthTokenId()) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoCheckingStepImpl.java:214: AuthTokenIdFlowSessionAttribute.authTokenIdFlowSessionAttribute( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoCheckingStepImpl.java:215: FidoAuthTokenId.fidoAuthTokenId(fidoRegisteredCredential.getId()).formatAsString() work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/renderer/UserBeanBasedUserCredentialBean.java:66: this.userBean.resetPasswordOrder(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoRegistrationStepImpl.java:12:import com.airlock.iam.factor.domain.model.fido.FidoAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoRegistrationStepImpl.java:31:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdFlowSessionAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoRegistrationStepImpl.java:188: AuthTokenIdFlowSessionAttribute.authTokenIdFlowSessionAttribute(FidoAuthTokenId.fidoAuthTokenId(registeredCredential.getId()).formatAsString()) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/AuthUserBean.java:53: void resetPasswordOrder(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/PersistentUserWithPassword.java:19: void resetPasswordChangeEnforcement(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/PersistentUserWithPassword.java:40: void setFailedPasswordResets(int var1); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/PersistentUserWithPassword.java:42: int getFailedPasswordResets(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/PersistentUserWithPassword.java:44: void increaseFailedPasswordResets(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mapification/AuthenticationDeviceUsageMapifier.java:7:import com.airlock.iam.common.api.domain.model.device.DeviceTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mapification/AuthenticationDeviceUsageMapifier.java:39: .putIfPresent("class", Optional.of(deviceId).filter(v -> v instanceof DeviceTokenId).map(v -> v.getClass().getName())) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/mapification/AuthenticationDeviceUsageMapifier.java:47: return className.isPresent() && className.get().equals(DeviceTokenId.class.getName()) ? new DeviceTokenId(id) : () -> id; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenDataProvider.java:46: private Long tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenDataProvider.java:75: this.tokenId = other.tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenDataProvider.java:105: public TokenDataProvider.TokenFilter filterTokenId(String filter) throws ViolationException { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenDataProvider.java:107: this.tokenId = filter != null ? Long.parseLong(filter) : null; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenDataProvider.java:110: throw new ViolationException("Unable to parse the token ID value as a long."); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenDataProvider.java:371: Object this$tokenId = this.tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenDataProvider.java:372: Object other$tokenId = other.tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenDataProvider.java:373: if (this$tokenId == null ? other$tokenId == null : this$tokenId.equals(other$tokenId)) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenDataProvider.java:544: Object $tokenId = this.tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenDataProvider.java:545: result = result * 59 + ($tokenId == null ? 43 : $tokenId.hashCode()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenDataProvider.java:593: public Long getTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenDataProvider.java:594: return this.tokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/emailotp/EmailOtpCheckingStepImpl.java:29:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdFlowSessionAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/emailotp/EmailOtpCheckingStepImpl.java:163: .putOrMergeAttribute(this.getAuthTokenIdAsFlowAttribute(((EmailOtpAuthenticationStepSession)this.stepSession.get()).getEmailAddress().orElseThrow())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/emailotp/EmailOtpCheckingStepImpl.java:167: private AuthTokenIdFlowSessionAttribute getAuthTokenIdAsFlowAttribute(EmailAddress emailAddress) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/model/emailotp/EmailOtpCheckingStepImpl.java:168: return AuthTokenIdFlowSessionAttribute.authTokenIdFlowSessionAttribute(UsedEmailInfo.of(emailAddress).toString()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenBean.java:12: String getTokenId(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenBean.java:84: String getObsoletesTokenId(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenBean.java:86: void setObsoletesTokenId(String var1); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenBean.java:106: String getActivatesTokenId(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/persistency/token/TokenBean.java:108: void setActivatesTokenId(String var1); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/token/AbstractToken.java:39: return this.delegate.getTokenId(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/token/AbstractToken.java:141: public String getObsoletesTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/token/AbstractToken.java:142: return this.delegate.getObsoletesTokenId(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/token/Token.java:44: String getObsoletesTokenId(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/Authenticator.java:10: String AUTH_TOKEN_ID_CONTEXT_KEY = "authTokenId"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/PasswordService.java:5:import com.airlock.iam.core.misc.authen.result.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/PasswordService.java:12: PasswordResetResult resetPassword(String var1, String var2, PasswordService.PasswordResetContext var3) throws PasswordServiceException; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/PasswordService.java:21: enum PasswordResetContext { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:43: private String tokenIdentifier; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:147: public String getTokenIdentifier() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:148: return this.tokenIdentifier; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:151: public AuthenticationFailedChallenge setTokenIdentifier(String identifier) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:152: this.tokenIdentifier = identifier; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:194: public abstract String getTokenIdentifier(AuthenticationFailedChallenge var1); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:238: public String getTokenIdentifier(AuthenticationFailedChallenge failedChallenge) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:239: return failedChallenge.getTokenIdentifier(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:299: public String getTokenIdentifier(AuthenticationFailedChallenge failedChallenge) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:300: return failedChallenge.getTokenIdentifier(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:340: public String getTokenIdentifier(AuthenticationFailedChallenge failedChallenge) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:341: return failedChallenge.getTokenIdentifier(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailed.java:266: return "AuthenticationFailed.BaseChoiceToken(id=" + this.getId() + ", preSelected=" + this.isPreSelected() + ")"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/PasswordResetResult.java:10:public class PasswordResetResult { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/PasswordResetResult.java:19: public PasswordResetResult setPasswordChangeSucceeded() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/PasswordResetResult.java:42: public PasswordResetResult addPolicyViolation(PasswordPolicyViolation violation) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/PasswordResetResult.java:49: public PasswordResetResult addPolicyResult(PasswordPolicyCheckResult policyCheckResult) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/result/PasswordResetResult.java:69: return "Password reset " + status; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/authen/ldap/LdapAuthenticationFailureMapper.java:22: MUST_RESET_PASSWORD, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAAuthTokenIdService.java:16:public class Airlock2FAAuthTokenIdService { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAAuthTokenIdService.java:23: public Airlock2FAAuthTokenIdService( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAAuthTokenIdService.java:36: this.saveAuthTokenId(factor, deviceId, () -> this.determineAllowedFactors(accountId, deviceId)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAAuthTokenIdService.java:40: this.saveAuthTokenId(factor, deviceId, () -> this.determineAllowedFactors(deviceId, userInfo)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAAuthTokenIdService.java:43: private void saveAuthTokenId(Airlock2FAFactor factor, Airlock2FADeviceId deviceId, Supplier allowedFactors) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAAuthTokenIdService.java:45: ((Airlock2FAFlowSessionAttributesService)this.attributesService.get()).saveAuthTokenId(factor, deviceId, allowedFactors.get()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesService.java:4:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesService.java:14: void saveAuthTokenId(Airlock2FAFactor var1, Airlock2FADeviceId var2, Airlock2FAFactorSet var3); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesService.java:25: Optional loadAuthTokenId(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:6:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:7:import com.airlock.iam.factor.domain.model.airlock2fa.Airlock2FAAuthTokenIdCoder; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:14:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdFlowSessionAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:23: private final Provider coder; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:29: Provider coder, Provider flowAttributes, Provider attributeService work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:37: public void saveAuthTokenId(Airlock2FAFactor factor, Airlock2FADeviceId deviceId, Airlock2FAFactorSet allowedFactors) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:38: Airlock2FAAuthTokenId authTokenId = new Airlock2FAAuthTokenId(factor, deviceId, allowedFactors); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:39: String encoded = ((Airlock2FAAuthTokenIdCoder)this.coder.get()).encode(authTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:40: ((FlowAttributeRepository)this.flowAttributes.get()).putOrMergeAttribute(AuthTokenIdFlowSessionAttribute.authTokenIdFlowSessionAttribute(encoded)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:41: LOG.debug("Saved Airlock 2FA used factor and device '%s' in flow attribute '%s' as '%s'".formatted(authTokenId, "authTokenIdKey", encoded)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:60: public Optional loadAuthTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:62: .findAttribute(AuthTokenIdFlowSessionAttribute.class) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:63: .map(AuthTokenIdFlowSessionAttribute::getAuthTokenId) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/airlock2fa/Airlock2FAFlowSessionAttributesServiceImpl.java:64: .flatMap(authTokenIdString -> ((Airlock2FAAuthTokenIdCoder)this.coder.get()).decode(authTokenIdString)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/vasco/VascoOtpDeviceRepositoryImpl.java:106: return activeToken.getObsoletesTokenId() == null ? false : activeToken.getObsoletesTokenId().equals(inactiveToken.getTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/util/ticket/SessionTicketKeys.java:7: String TICKET_KEY_AUTH_TOKEN_ID = "authTokenId"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/misc/util/ticket/service/MappingTicketService.java:47: description = "This property defines values to be stored in the issued ticket taken from the list of additional key-value-pairs passed to this plugin.

The values are interpreted as follows:

  • The value @all-additional-values refers to all additional key-value-pairs provided to this plugin. If used, these values are stored in the ticket using their own keys. The ticketKey (see other property description of list elements) is ignored for this value. Even if this special value is used, selected additional values can still be selected by their name (see item below).
  • All other values are used to reference single additional value in the list of additional key-value-pairs.

Note that values selected here can overwrite values from the context data container of the authentee (see other configuration property) using the same ticket key.

Values available for identity propagation: The following values are available for identity propagation, if the corresponding feature is licensed and configured.
Values available in REST login identity propagation, when using the 'REST Identity Propagation' plugin:

  • AUTH_TIMESTAMP: the time of authentication
  • AUTH_TOKEN_ID: the auth token id as used for transaction approval
  • REPRESENTER_ID: the representer's ID, as used for user representation
Values available in the HTML login application identity propagation:
  • AUTH_TIMESTAMP: the time of authentication
  • AUTH_TOKEN_ID: the auth token id as used for transaction approval
  • AUTH_PLUGIN: the authentication plugin identifier
  • LANG: the user's language as used in the login forms
  • GSID: the global session identifier
  • CLIENT_IP: the client's IP address
  • GEOLOCATION_CITY: the geolocation city
  • GEOLOCATION_CONTINENT_CODE: the geolocation continent code
  • GEOLOCATION_COUNTRY_CODE: the geolocation country code
  • GEOLOCATION_LATITUDE: the geolocation latitude
  • GEOLOCATION_LONGITUDE: the geolocation longitude
  • GEOLOCATION_SUBDIVISION_CODE: the geolocation subdivision code
  • GEOLOCATION_TIMEZONE: the geolocation timezone
  • GEOLOCATION_ZIP: the geolocation zip
  • REPRESENTER_ID: the representer's ID, as used for user representation
  • OPENID_CONNECT_ID_TOKEN: the OpenID Connect ID Token that may have been used for the authentication.
  • OAUTH2_ACCESS_TOKEN: the OAuth 2.0 or OpenID Connect Access Token that may have been used for the authentication.

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/cronto/CrontoCheckingServiceImpl.java:69: public CrontoCheckingService.CrontoInitCheckResult initiate(Optional authTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/cronto/CrontoCheckingServiceImpl.java:75: DeviceSelectionInformation usableDevices = this.createDeviceSelectionInformation(authTokenId, Optional.empty()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/devicetoken/DeviceTokenAuthenticationService.java:57: .getDeviceToken(username, sentChallenge.getDeviceTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/devicetoken/DeviceTokenAuthenticationService.java:73: public DeviceTokenChallenge createChallenge(String deviceTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/devicetoken/DeviceTokenAuthenticationService.java:77: return new DeviceTokenChallenge(deviceTokenId, Base64.encodeBase64URLSafeString(values)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/devicetoken/DeviceTokenAuthenticationService.java:80: public boolean hasEnabledAndValidDeviceToken(String username, String deviceTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/devicetoken/DeviceTokenAuthenticationService.java:81: return ((DeviceTokenRepository)this.deviceTokenRepository.get()).hasEnabledAndValidDeviceToken(username, deviceTokenId, Instant.now()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/devicetoken/DeviceTokenAuthenticationService.java:84: public Optional findUserWithDeviceToken(String deviceTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/devicetoken/DeviceTokenAuthenticationService.java:85: return ((DeviceTokenRepository)this.deviceTokenRepository.get()).findUserWithDeviceToken(deviceTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/core/domain/service/password/AdminappPasswordResetService.java:7:public interface AdminappPasswordResetService { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:6: private final boolean saveAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:14: public boolean saveAuthTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:15: return this.saveAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:24: return !(o instanceof MtanRegistrationSettings other) ? false : this.saveAuthTokenId == other.saveAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:33: return result * 59 + (this.saveAuthTokenId ? 79 : 97); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:39: return "MtanRegistrationSettings(saveAuthTokenId=" + this.saveAuthTokenId() + ")"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:43: private MtanRegistrationSettings(boolean saveAuthTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:44: this.saveAuthTokenId = saveAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:50: private boolean saveAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:57: public MtanRegistrationSettings.MtanRegistrationSettingsBuilder saveAuthTokenId(boolean saveAuthTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:58: this.saveAuthTokenId = saveAuthTokenId; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:64: return new MtanRegistrationSettings(this.saveAuthTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanRegistrationSettings.java:70: return "MtanRegistrationSettings.MtanRegistrationSettingsBuilder(saveAuthTokenId=" + this.saveAuthTokenId + ")"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/ApplyMtanRegistrationChange.java:20:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdFlowSessionAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/ApplyMtanRegistrationChange.java:78: this.saveAuthTokenId(item); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/ApplyMtanRegistrationChange.java:101: private void saveAuthTokenId(MtanItem item) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/ApplyMtanRegistrationChange.java:102: if (((MtanRegistrationSettings)this.settings.get()).saveAuthTokenId()) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/ApplyMtanRegistrationChange.java:103: AuthTokenIdFlowSessionAttribute authTokenId = AuthTokenIdFlowSessionAttribute.authTokenIdFlowSessionAttribute(MtanUsedDeviceInfo.of(item).toString()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/ApplyMtanRegistrationChange.java:104: ((FlowAttributeRepository)this.attributeRepository.get()).putOrMergeAttribute(authTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:20:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:21:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdFlowSessionAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:41: private final Optional authTokenIdAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:54: Optional authTokenIdAttribute, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:65: this.authTokenIdAttribute = authTokenIdAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:112: this.flowSession.flowAttributes().putOrMergeAttribute(this.getAuthTokenIdAsFlowAttribute(selectedChoice)); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:233: if (this.authTokenIdAttribute.isPresent()) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:234: Optional token = this.getTokenFromAuthTokenId(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:245: private Optional getTokenFromAuthTokenId() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:246: Optional id = MtanUsedDeviceInfo.parse(this.authTokenIdAttribute.orElseThrow().getAuthTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:250: private AuthTokenIdFlowSessionAttribute getAuthTokenIdAsFlowAttribute(AuthenticationFailed.MtanChoiceToken selectedChoice) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:251: return AuthTokenIdFlowSessionAttribute.authTokenIdFlowSessionAttribute(MtanUsedDeviceInfo.of(selectedChoice.getId()).toString()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:433: private Optional authTokenIdAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:486: public MtanOtpCheckingServiceImpl.MtanOtpCheckingServiceImplBuilder authTokenIdAttribute(Optional authTokenIdAttribute) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:487: this.authTokenIdAttribute = authTokenIdAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:513: this.authTokenIdAttribute, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:536: + ", authTokenIdAttribute=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/MtanOtpCheckingServiceImpl.java:537: + this.authTokenIdAttribute work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/flow/shared/domain/service/mtan/ApplyMtanEditChange.java:69: MtanItem item = repository.findUniqueMtanToken(this.userId(), change.getExistingToken().get().getTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:19:import com.airlock.iam.publicselfservice.domain.model.step.PasswordResetStep; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:27: displayName = "Password Reset Step" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:30:@NextActions(PasswordResetStep.SetPasswordStepActions.class) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:31:public final class PasswordResetStepConfig extends AbstractInteractiveFlowStepConfig implements StepConfigForPublicSelfServiceFlows { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:36: description = "

The password policy that the new password has to fulfill.

If a UI is configured, the text resource with key 'password-reset.password.requirements' must describe the password policy requirements for the configured policy.

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:43: private PasswordResetStepConfig( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:82: public static PasswordResetStepConfig.PasswordResetStepConfigBuilder builder() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:83: return new PasswordResetStepConfig.PasswordResetStepConfigBuilder(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:87: public PasswordResetStepConfig() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:91: public static class PasswordResetStepConfigBuilder { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:118: PasswordResetStepConfigBuilder() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:122: public PasswordResetStepConfig.PasswordResetStepConfigBuilder skipCondition(FlowConditionConfig skipCondition) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:128: public PasswordResetStepConfig.PasswordResetStepConfigBuilder preCondition(FlowConditionConfig preCondition) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:134: public PasswordResetStepConfig.PasswordResetStepConfigBuilder requiresActivation(boolean requiresActivation) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:140: public PasswordResetStepConfig.PasswordResetStepConfigBuilder tagsOnSuccess(List tagsOnSuccess) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:146: public PasswordResetStepConfig.PasswordResetStepConfigBuilder stepId(@Nullable StepIdConfig stepId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:152: public PasswordResetStepConfig.PasswordResetStepConfigBuilder interactiveGotoTargets(List interactiveGotoTargets) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:158: public PasswordResetStepConfig.PasswordResetStepConfigBuilder dynamicStepActivations(List dynamicStepActivations) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:164: public PasswordResetStepConfig.PasswordResetStepConfigBuilder onFailureGotos(Map onFailureGotos) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:170: public PasswordResetStepConfig.PasswordResetStepConfigBuilder customResponseAttributes(List customResponseAttributes) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:176: public PasswordResetStepConfig.PasswordResetStepConfigBuilder customFailureResponseAttributes( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:184: public PasswordResetStepConfig.PasswordResetStepConfigBuilder passwordRepository(PasswordRepositoryConfig passwordRepository) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:190: public PasswordResetStepConfig.PasswordResetStepConfigBuilder passwordPolicy(PasswordPolicy passwordPolicy) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:196: public PasswordResetStepConfig build() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:197: return new PasswordResetStepConfig( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/PasswordResetStepConfig.java:216: return "PasswordResetStepConfig.PasswordResetStepConfigBuilder(skipCondition=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/flow/PasswordResetLegacyFlow.java:5:public interface PasswordResetLegacyFlow { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/flow/PasswordResetLegacyFlow.java:6: FlowId LEGACY_PASSWORD_RESET_FLOW_ID = new FlowId("default-password-reset-flow"); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/PublicSelfServiceFlowsConfig.java:27: description = "

Maximal number of allowed failed factor attempts. The user is locked if the number of failed attempts for any factor exceeds this limit.

Security Warning: The \"Locked User Restriction\" must be configured in order to disallow public self-services for users that have exceeded the allowed number of factor attempts configured in this property. The \"Default Password Reset Restrictions \" already include this restriction.

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/CustomPublicSelfServiceRestrictionsConfig.java:10: description = "

Custom configuration for public self-service restrictions.

See the plugin descriptions of \"Default Password Reset Restrictions\" or \"Default Self-Unlock Restrictions\" for determine reasonable sets of restrictions.

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/CustomPublicSelfServiceRestrictionsConfig.java:16: description = "

Restrictions define which users are allowed to perform a public self-service. These restrictions are checked in the configured order and after the first restriction disallows public self-service, no further checks are performed.

Security Warning: We recommend to use at least the restrictions provided by the \"Default Password Reset Restrictions\". Omitting these restrictions may allow public self-service for unauthorized (e.g. locked or invalid) users. The \"Nonexistent User Restriction\" is probably always needed and should be the first restriction in the list.

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:34:public class DeviceTokenIdentityVerificationStepConfig extends AbstractInteractiveFlowStepConfig implements StepConfigForPublicSelfServiceFlows { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:48: protected DeviceTokenIdentityVerificationStepConfig( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:87: public static DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder builder() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:88: return new DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:92: public DeviceTokenIdentityVerificationStepConfig() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:96: public static class DeviceTokenIdentityVerificationStepConfigBuilder { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:123: DeviceTokenIdentityVerificationStepConfigBuilder() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:127: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder skipCondition(FlowConditionConfig skipCondition) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:133: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder preCondition(FlowConditionConfig preCondition) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:139: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder requiresActivation(boolean requiresActivation) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:145: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder tagOnSuccess(TagConfig tagOnSuccess) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:155: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder tagsOnSuccess( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:171: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder clearTagsOnSuccess() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:180: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder stepId(@Nullable StepIdConfig stepId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:186: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder interactiveGotoTargets( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:194: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder dynamicStepActivations( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:202: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder onFailureGotos(Map onFailureGotos) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:208: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder customResponseAttributes( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:216: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder customFailureResponseAttributes( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:224: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder deviceTokenSettings( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:232: public DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder authenticationMethodId(String authenticationMethodId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:238: public DeviceTokenIdentityVerificationStepConfig build() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:239: return new DeviceTokenIdentityVerificationStepConfig( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/DeviceTokenIdentityVerificationStepConfig.java:262: return "DeviceTokenIdentityVerificationStepConfig.DeviceTokenIdentityVerificationStepConfigBuilder(skipCondition=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:14: description = "

Default restrictions for password reset flows. Currently, they are (in this order):

  • Nonexistent User Restriction
  • Invalid User Restriction
  • Locked User Restriction

By default, these restrictions do not report violations and therefore prevent user enumeration. To include custom restrictions or to configure restrictions for other types of self-service flows, the \"Custom Public Self-Service Restrictions\" plugin can be used.

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:15: displayName = "Default Password Reset Restrictions" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:18:public final class DefaultPasswordResetRestrictionsConfig implements PublicSelfServiceRestrictionsConfig { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:19: public static final String DEFAULT_PASSWORD_RESET_RESTRICTIONS_DISPLAY_NAME = "Default Password Reset Restrictions"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:23: description = "

If enabled, users that are locked because of too many failed password checks (lock reason \"LockReason.TooManyAuthAtts.PASSWORD\") are allowed to perform a password reset flow. Locked users with any other lock reason cannot reset their password. To allow other lock reasons, use the \"Locked User Restriction\" plugin with \"Custom Public Self-Service Restrictions\".

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:30: description = "

If enabled, nonexistent users attempting to start a password reset flow receive an error response with error code \"USER_NOT_FOUND\". Otherwise, the flow would also continue for nonexistent users but fail in the verification step (to protect against user enumeration).

Security consideration: Enabling feedback on restriction violations can increase usability but it weakens or disables the user enumeration protection.

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:37: description = "

If enabled, invalid users attempting to start a password reset flow receive an error response with error code \"USER_INVALID\". Otherwise, the flow would also continue for invalid users, but fail in the verification step (to protect against user enumeration).

Security consideration: Enabling feedback on restriction violations can increase usability but it weakens or disables the user enumeration protection.

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:44: description = "

If enabled, locked users attempting to start a password reset flow receive an error response with error code \"USER_LOCKED\". Otherwise, the flow would also continue for locked users but fail in the verification step (to protect against user enumeration).

Security consideration: Enabling feedback on restriction violations can increase usability but it weakens or disables the user enumeration protection.

", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:52: public DefaultPasswordResetRestrictionsConfig( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:99: public static DefaultPasswordResetRestrictionsConfig.DefaultPasswordResetRestrictionsConfigBuilder builder() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:100: return new DefaultPasswordResetRestrictionsConfig.DefaultPasswordResetRestrictionsConfigBuilder(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:104: public DefaultPasswordResetRestrictionsConfig() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:108: public static class DefaultPasswordResetRestrictionsConfigBuilder { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:119: DefaultPasswordResetRestrictionsConfigBuilder() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:123: public DefaultPasswordResetRestrictionsConfig.DefaultPasswordResetRestrictionsConfigBuilder allowLockedUser(boolean allowLockedUser) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:129: public DefaultPasswordResetRestrictionsConfig.DefaultPasswordResetRestrictionsConfigBuilder nonexistentUserFeedback(boolean nonexistentUserFeedback) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:135: public DefaultPasswordResetRestrictionsConfig.DefaultPasswordResetRestrictionsConfigBuilder invalidUserFeedback(boolean invalidUserFeedback) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:141: public DefaultPasswordResetRestrictionsConfig.DefaultPasswordResetRestrictionsConfigBuilder lockedUserFeedback(boolean lockedUserFeedback) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:147: public DefaultPasswordResetRestrictionsConfig build() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:148: return new DefaultPasswordResetRestrictionsConfig( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/configuration/restrictions/DefaultPasswordResetRestrictionsConfig.java:156: return "DefaultPasswordResetRestrictionsConfig.DefaultPasswordResetRestrictionsConfigBuilder(allowLockedUser=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/service/PasswordReset.java:6:import com.airlock.iam.publicselfservice.domain.model.step.PasswordResetStep; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/service/PasswordReset.java:9:public class PasswordReset { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/service/PasswordReset.java:13: public PasswordReset(FlowProvider flow) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/application/service/PasswordReset.java:18: return this.flow.getCurrentOrStartNew().execute(step -> step.setPassword(newPassword), PasswordResetStep.class); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/MtanApprovalStepModule.java:22:import com.airlock.iam.flow.shared.domain.model.attributes.AuthTokenIdAttribute; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/MtanApprovalStepModule.java:81: Optional authTokenIdAttribute() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/Airlock2FAPublicSelfServiceApprovalStepModule.java:9:import com.airlock.iam.factor.domain.service.airlock2fa.Airlock2FAApprovalAuthTokenIdService; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/Airlock2FAPublicSelfServiceApprovalStepModule.java:87: Optional provideAirlock2FAApprovalAuthTokenIdService() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/DeviceTokenIdentityVerificationStepModule.java:13:import com.airlock.iam.publicselfservice.application.configuration.steps.DeviceTokenIdentityVerificationStepConfig; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/DeviceTokenIdentityVerificationStepModule.java:20:@ModuleForConfig(DeviceTokenIdentityVerificationStepConfig.class) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/DeviceTokenIdentityVerificationStepModule.java:21:public final class DeviceTokenIdentityVerificationStepModule extends PrivateModule { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/DeviceTokenIdentityVerificationStepModule.java:29: DeviceTokenSettings provideDeviceTokenSettings(DeviceTokenIdentityVerificationStepConfig config) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/DeviceTokenIdentityVerificationStepModule.java:50: AuthenticationMethod provideAuthenticationMethod(DeviceTokenIdentityVerificationStepConfig config) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/PasswordResetStepModule.java:8:import com.airlock.iam.publicselfservice.application.configuration.steps.PasswordResetStepConfig; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/PasswordResetStepModule.java:14:@ModuleForConfig(PasswordResetStepConfig.class) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/PasswordResetStepModule.java:15:public class PasswordResetStepModule extends PrivateModule { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/PasswordResetStepModule.java:18: UserPasswordPolicy provideUserPasswordPolicy(PasswordResetStepConfig config) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/settings/ui/PublicSelfServiceStepUiSettingsCreator.java:24:import com.airlock.iam.publicselfservice.application.configuration.steps.PasswordResetStepConfig; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/settings/ui/PublicSelfServiceStepUiSettingsCreator.java:47: Map.entry(ScreenConfig.screenConfigOf(PasswordResetStepConfig.class), SimpleDefaultUiSettings.defaultFlowUiWithPath(KnownStepUiPath.PASSWORD)), work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/PublicSelfServiceFlowModule.java:28:import com.airlock.iam.publicselfservice.application.configuration.flow.PasswordResetLegacyFlow; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/PublicSelfServiceFlowModule.java:59: Optional provideDefaultFlowConfigForPasswordResetBackwardsCompatibility(Optional config) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/PublicSelfServiceFlowModule.java:62: .filter(flowConfig -> flowConfig.getFlowId().equals(PasswordResetLegacyFlow.LEGACY_PASSWORD_RESET_FLOW_ID)) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/shared/NoMtanTokenRestrictionModule.java:25: return principalInfo.getKnownIdentity().flatMap(id -> repository.getMtanToken(id.id())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/transfer/PublicSelfServiceAirlock2FADeviceData.java:10: public static final String PASSWORD_RESET_AIRLOCK_2FA_DEVICE_TYPE = "public-self-service.airlock-2fa.device"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStep.java:9:public interface PasswordResetStep extends FlowStep { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/transfer/ui/OnCompletedPublicSelfServiceData.java:13: public static final String ON_COMPLETED_PASSWORD_RESET_TYPE = "ui.public-self-service.on-completed"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/transfer/PublicSelfServiceAirlock2FAOfflineChallengeData.java:10: public static final String PASSWORD_RESET_AIRLOCK_2FA_CHALLENGE_TYPE = "public-self-service.airlock-2fa.challenge"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceMtanApprovalResource.java:145: description = "
\n\n\n\n\n
MTAN_TOKEN_CHOICE_FAILEDInvalid mTAN token ID. Retry with valid ID.
\n
\n
Possible next step: MTAN_TOKEN_CHOICE_REQUIRED (as documented here).\n", work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceMtanApprovalResource.java:170: FlowResult selectResult = ((MtanOtpCheck)this.mtanAuthentication.get()).selectMtanToken(id); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceDeviceTokenFlowResource.java:57: @Path("/{deviceTokenId}/challenge/retrieve") work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceDeviceTokenFlowResource.java:59: @Parameter(description = "The ID of the client device token.") @PathParam("deviceTokenId") @Size(min = 1, max = 50) String deviceTokenId work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceDeviceTokenFlowResource.java:61: FlowResult result = ((DeviceTokenVerification)this.deviceTokenVerification.get()).getChallenge(deviceTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceSetPasswordResource.java:11:import com.airlock.iam.publicselfservice.application.service.PasswordReset; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceSetPasswordResource.java:32: private final Provider passwordReset; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceSetPasswordResource.java:38: Provider passwordReset, FlowResultMapper mapper, Provider stepErrorResultMapper work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceSetPasswordResource.java:40: this.passwordReset = passwordReset; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceSetPasswordResource.java:83: FlowResult result = ((PasswordReset)this.passwordReset.get()).setPassword(PasswordImpl.passwordOf(request.getNewPassword())); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:27:import com.airlock.iam.publicselfservice.application.configuration.steps.DeviceTokenIdentityVerificationStepConfig; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:34:@LogicForConfig(DeviceTokenIdentityVerificationStepConfig.class) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:35:public final class DeviceTokenIdentityVerificationStep implements DeviceTokenVerificationStep, IdentityProvidingFlowStep { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:36: private static final ELogger LOG = ELoggerFactory.getLogger(DeviceTokenIdentityVerificationStep.class); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:46: public DeviceTokenIdentityVerificationStep( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:113: Optional identifyResult = this.identifyUserWithDeviceId(challenge.getDeviceTokenId()); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:133: private Optional identifyUserWithDeviceId(String deviceTokenId) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:134: Optional username = ((DeviceTokenAuthenticationService)this.deviceTokenAuthenticationService.get()).findUserWithDeviceToken(deviceTokenId); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:136: LOG.info("No valid and enabled token found for device token " + deviceTokenId + "."); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:147: deviceTokenId, work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:183: return "Device Token Identity Verification Step"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:191: public static DeviceTokenIdentityVerificationStep.DeviceTokenIdentityVerificationStepBuilder builder() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:192: return new DeviceTokenIdentityVerificationStep.DeviceTokenIdentityVerificationStepBuilder(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:196: public static class DeviceTokenIdentityVerificationStepBuilder { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:213: DeviceTokenIdentityVerificationStepBuilder() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:217: public DeviceTokenIdentityVerificationStep.DeviceTokenIdentityVerificationStepBuilder user(Provider user) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:223: public DeviceTokenIdentityVerificationStep.DeviceTokenIdentityVerificationStepBuilder userFactory(Provider userFactory) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:229: public DeviceTokenIdentityVerificationStep.DeviceTokenIdentityVerificationStepBuilder stepSession(Provider stepSession) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:235: public DeviceTokenIdentityVerificationStep.DeviceTokenIdentityVerificationStepBuilder principalInfo(Provider principalInfo) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:241: public DeviceTokenIdentityVerificationStep.DeviceTokenIdentityVerificationStepBuilder identificationService( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:249: public DeviceTokenIdentityVerificationStep.DeviceTokenIdentityVerificationStepBuilder deviceTokenAuthenticationService( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:257: public DeviceTokenIdentityVerificationStep.DeviceTokenIdentityVerificationStepBuilder authMethod(Provider authMethod) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:263: public DeviceTokenIdentityVerificationStep build() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:264: return new DeviceTokenIdentityVerificationStep( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:278: return "DeviceTokenIdentityVerificationStep.DeviceTokenIdentityVerificationStepBuilder(user=" work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:13:import com.airlock.iam.common.domain.model.password.reset.PasswordResetResult; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:26:import com.airlock.iam.publicselfservice.application.configuration.steps.PasswordResetStepConfig; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:34:@LogicForConfig(PasswordResetStepConfig.class) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:35:public final class PasswordResetStepImpl implements PasswordResetStep { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:36: private static final ELogger LOG = ELoggerFactory.getLogger(PasswordResetStepImpl.class); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:47: public PasswordResetStepImpl( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:70: return this.stepResultFactory().fail(PasswordResetStep.SetPasswordStepErrors.NOT_ALLOWED).build(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:73: StepResultBuilder stepResult = this.stepResultFactory().stay(PasswordResetStep.SetPasswordStepActions.NEW_PASSWORD_REQUIRED); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:81: return this.stepResultFactory().fail(PasswordResetStep.SetPasswordStepErrors.NOT_ALLOWED).build(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:105: PasswordResetResult setResult = userPassword.setPassword(newPassword); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:126: .failRetry(PasswordResetStep.SetPasswordStepErrors.PASSWORD_POLICY_VIOLATED, PasswordResetStep.SetPasswordStepActions.NEW_PASSWORD_REQUIRED) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:135: .failRetry(GenericStepError.DECRYPTION_FAILED, PasswordResetStep.SetPasswordStepActions.NEW_PASSWORD_REQUIRED); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:144: ((UserPasswordRepository)this.passwordRepository.get()).createNewE2eEncryptionSession(E2eEncryptionSession.E2eEncryptionUseCase.PASSWORD_RESET) work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:159: return "Password Reset (Public Self-Service)"; work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:167: public static PasswordResetStepImpl.PasswordResetStepImplBuilder builder() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:168: return new PasswordResetStepImpl.PasswordResetStepImplBuilder(); work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:172: public static class PasswordResetStepImplBuilder { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:191: PasswordResetStepImplBuilder() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:195: public PasswordResetStepImpl.PasswordResetStepImplBuilder user(Provider user) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:201: public PasswordResetStepImpl.PasswordResetStepImplBuilder passwordRepository(Provider passwordRepository) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:207: public PasswordResetStepImpl.PasswordResetStepImplBuilder passwordPolicy(Provider passwordPolicy) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:213: public PasswordResetStepImpl.PasswordResetStepImplBuilder stepSession(Provider stepSession) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:219: public PasswordResetStepImpl.PasswordResetStepImplBuilder userSessionTokenService(Provider userSessionTokenService) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:225: public PasswordResetStepImpl.PasswordResetStepImplBuilder eventFactory(Provider eventFactory) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:231: public PasswordResetStepImpl.PasswordResetStepImplBuilder signingLogger(SigningLogger signingLogger) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:237: public PasswordResetStepImpl.PasswordResetStepImplBuilder helpdeskLogger(HelpdeskLogger helpdeskLogger) { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:243: public PasswordResetStepImpl build() { work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:244: return new PasswordResetStepImpl( work/source-derived/airlock-iam-8.6.1/decompiled/com/airlock/iam/publicselfservice/domain/model/step/PasswordResetStepImpl.java:259: return "PasswordResetStepImpl.PasswordResetStepImplBuilder(user="