decompiled/com/airlock/iam/common/application/configuration/sso/SsoHeaderTicketExtractorConfigImpl.java:21: exampleValues = {"X-Login-OTP", "X-LOGIN-TOKEN"} decompiled/com/airlock/iam/base/infrastructure/error/ErrorResponse.java:108: response.header(entry.getKey(), entry.getValue()); decompiled/com/airlock/iam/base/infrastructure/error/ErrorResponse.java:304: public ErrorResponse.ErrorResponseBuilder header(String headerKey, Object headerValue) { decompiled/com/airlock/iam/common/application/configuration/RestConfigSpec.java:21: String CSRF_PROTECTION_GENERAL_PROPERTY_DESRIPTION = "

If enabled, REST endpoints are protected against CSRF attacks.

With this protection, the REST API only accepts requests that contain the custom header X-Same-Domain with an arbitrary non-empty value. In cross-origin resource sharing (CORS), such requests are not considered simple requests and thus must always be preceded by a preflight request, which prevents cross-site request forgery (CSRF) attacks.

Security warning: Disabling this feature may allow CSRF attacks. Only do so if the REST client is unable to comply with the aforementioned restrictions.

"; decompiled/com/airlock/iam/common/application/configuration/logging/CorrelationIdSettingsConfig.java:14: defaultValue = "X-Correlation-ID", decompiled/com/airlock/iam/common/application/configuration/secretquestion/BasicSecretQuestionSettings.java:62: description = "Normalization is a string-transformation applied to answers before they are persisted, and before they are verified. Therefore, an answer can be accepted even if it has minor differences to the provisioned answer. Currently, the following options exist: ", decompiled/com/airlock/iam/common/application/configuration/secretquestion/SecretQuestionsSettings.java:83: description = "Normalization is a string-transformation applied to answers before they are persisted, and before they are verified. Therefore, an answer can be accepted even if it has minor differences to the provisioned answer. Currently, the following options exist: ", decompiled/com/airlock/iam/oauth2/application/configuration/OAuth2RemoteConsentConfig.java:42: static final String RESPONSE_SETTINGS = "Response Settings"; decompiled/com/airlock/iam/common/application/configuration/state/AbstractRedisStateRepositoryConfig.java:49: private static final String NAMESPACE_PROPERTY = "namespace"; decompiled/com/airlock/iam/common/application/configuration/state/AbstractRedisStateRepositoryConfig.java:50: private static final String NAMESPACE_DEFAULT_VALUE = "default"; decompiled/com/airlock/iam/common/application/configuration/gateway/extractor/RequestUrlExtractorConfig.java:12: public static final String DEFAULT_REQUEST_URL_HEADER_NAME = "X-URL"; decompiled/com/airlock/iam/common/application/configuration/gateway/extractor/RequestUrlExtractorConfig.java:17: defaultValue = "X-URL", decompiled/com/airlock/iam/common/application/configuration/gateway/extractor/RequestUrlExtractorConfig.java:18: exampleValues = {"X-URL", "X-URL-Seen-By-Client"}, decompiled/com/airlock/iam/common/application/configuration/gateway/extractor/ClientIpExtractorConfig.java:18: defaultValue = "X-Forwarded-For", decompiled/com/airlock/iam/common/application/configuration/gateway/extractor/ClientIpExtractorConfig.java:19: exampleValues = {"X-Forwarded-For", "X-Client-IP"}, decompiled/com/airlock/iam/common/application/configuration/gateway/extractor/ClientIpExtractorConfig.java:24: description = "Whether private IP addresses should be ignored or not.\n

\nThe X-Forwarded-For header may contain multiple comma-separated IP addresses of proxies before IAM.\nPublic and private IP addresses are allowed in this header. When this option is:\n

\n

\n", decompiled/com/airlock/iam/common/application/configuration/gateway/extractor/RequestMtlsClientCertificateExtractorConfig.java:13: public static final String DEFAULT_REQUEST_MTLS_CLIENT_CERTIFICATE_HEADER_NAME = "X-Forwarded-mTLS-Client-Cert"; decompiled/com/airlock/iam/common/application/configuration/gateway/extractor/RequestMtlsClientCertificateExtractorConfig.java:18: defaultValue = "X-Forwarded-mTLS-Client-Cert", decompiled/com/airlock/iam/common/application/configuration/gateway/extractor/RequestMtlsClientCertificateExtractorConfig.java:19: exampleValues = {"X-Forwarded-mTLS-Client-Cert", "X-SSL-Client-Cert", "x-forwarded-client-cert"}, decompiled/com/airlock/iam/common/application/configuration/gateway/extractor/RequestIdExtractorConfig.java:16: defaultValue = "X-Request-ID", decompiled/com/airlock/iam/oauth2/application/configuration/client/OpenIDConnectRS256SignatureValidator.java:70: jwt.header().keyId(), decompiled/com/airlock/iam/oauth2/application/configuration/client/OpenIDConnectRS256SignatureValidator.java:98: boolean isRS256signed = JwsAlgorithmRsa.RS256.toString().equals(jwt.header().algorithmName()); decompiled/com/airlock/iam/oauth2/application/configuration/client/OpenIDConnectDiscoverySignatureValidator.java:52: .map(jwt -> this.validator.validateSignature(jwt.header().keyId(), JwksSignatureValidator.defaultValidator(jwt))) decompiled/com/airlock/iam/common/application/service/session/AirlockControlCookieService.java:30: FINAL_RESPONSE; decompiled/com/airlock/iam/common/infrastructure/restclient/RestRequest.java:33: this.headers.forEach((name, values) -> values.forEach(value -> request.header(name, value))); decompiled/com/airlock/iam/common/infrastructure/restclient/RestRequest.java:215: public RestRequest.RestRequestBuilder header(String headerKey, List headerValue) { decompiled/com/airlock/iam/common/infrastructure/factory/SsoHeaderTicketExtractorModule.java:27: return Optional.ofNullable(request.getHeader(config.headerName())); decompiled/com/airlock/iam/common/infrastructure/factory/UserAgentEventMetadataFactory.java:23: return Optional.ofNullable(request.getHeader("User-Agent")) decompiled/com/airlock/iam/common/infrastructure/factory/LocaleModule.java:24: String acceptLanguage = request.getHeader("Accept-Language"); decompiled/com/airlock/iam/oauth2/infrastructure/discovery/compatibility/OpenIDConnectConfigurationResponseTypes.java:12: static final String RESPONSE_TYPES_CONFIGURATION_NAME = "response types"; decompiled/com/airlock/iam/oauth2/infrastructure/discovery/compatibility/OpenIDConnectConfigurationResponseTypes.java:13: private static final Set COMPATIBLE_RESPONSE_TYPES = ImmutableSet.of(new ResponseType(new Value[]{Value.CODE})); decompiled/com/airlock/iam/oauth2/infrastructure/discovery/compatibility/OpenIDConnectConfigurationResponseTypes.java:27: Set intersection = Sets.intersection(COMPATIBLE_RESPONSE_TYPES, Sets.newHashSet(responseTypes)); decompiled/com/airlock/iam/oauth2/infrastructure/discovery/compatibility/OpenIDConnectConfigurationResponseTypes.java:30: new OpenIDConnectIncompatibilityNoneFoundValuesSupported<>(this, COMPATIBLE_RESPONSE_TYPES, responseTypes) decompiled/com/airlock/iam/oauth2/infrastructure/discovery/compatibility/OpenIDConnectConfigurationResponseModes.java:11: static final String RESPONSE_MODES_CONFIGURATION_NAME = "response modes"; decompiled/com/airlock/iam/oauth2/infrastructure/discovery/compatibility/OpenIDConnectConfigurationResponseModes.java:12: private static final Set COMPATIBLE_RESPONSE_MODES = ImmutableSet.of(ResponseMode.QUERY); decompiled/com/airlock/iam/oauth2/infrastructure/discovery/compatibility/OpenIDConnectConfigurationResponseModes.java:22: Set intersection = Sets.intersection(COMPATIBLE_RESPONSE_MODES, Sets.newHashSet(responseModes)); decompiled/com/airlock/iam/oauth2/infrastructure/discovery/compatibility/OpenIDConnectConfigurationResponseModes.java:25: new OpenIDConnectIncompatibilityNoneFoundValuesSupported<>(this, COMPATIBLE_RESPONSE_MODES, responseModes) decompiled/com/airlock/iam/common/infrastructure/RestConfigurator.java:26: LOG.debug("JAX-RS: " + stopwatch.elapsed(TimeUnit.MILLISECONDS) + " ms"); decompiled/com/airlock/iam/common/infrastructure/session/CorrelationIdServiceImpl.java:84: String corrId = this.request().getHeader(settings.headerName()); decompiled/com/airlock/iam/common/infrastructure/filter/auth/HttpServletRequestToRequestAdapter.java:35: return Optional.ofNullable(((HttpServletRequest)this.httpServletRequest.get()).getHeader(headerName)); decompiled/com/airlock/iam/common/infrastructure/filter/auth/RequestAuthenticationFilter.java:92: requestContext.abortWith(ErrorResponse.unauthorized().header("WWW-Authenticate", "None").log(logMessage).build().toResponse()); decompiled/com/airlock/iam/oauth2/infrastructure/credential/OAuth2AccessTokenExtractionServiceImpl.java:39: String rawHeader = StringUtils.trimToNull(request.getHeader(accessTokenHeaderSettings.getHeaderName())); decompiled/com/airlock/iam/common/infrastructure/filter/security/CsrfProtectionFilter.java:27: private static final String CSRF_HEADER = "X-Same-Domain"; decompiled/com/airlock/iam/common/infrastructure/filter/security/CsrfProtectionFilter.java:48: "Missing 'X-Same-Domain' header in the request, denying access due to possible CSRF. If absolutely required, disable this security check by unchecking the 'CSRF Protection' property in the REST configuration of the respective IAM module." decompiled/com/airlock/iam/common/infrastructure/filter/security/CsrfProtectionFilter.java:57: return StringUtils.isNotBlank(requestContext.getHeaderString("X-Same-Domain")); decompiled/com/airlock/iam/common/infrastructure/filter/security/CorsFilter.java:78: ResponseBuilder response = Response.ok().header("Access-Control-Allow-Origin", origin).header("Access-Control-Max-Age", 600); decompiled/com/airlock/iam/oauth2/infrastructure/resource/rest/OAuth2TokenIntrospectionResource.java:116: return this.request.getHeader("Authorization"); decompiled/com/airlock/iam/oauth2/infrastructure/resource/rest/OAuth2SessionsResource.java:57: private static final String SESSIONS_RESPONSE_EXAMPLE = "{\n\t\"meta\": {\n\t\t\"type\": \"jsonapi.metadata.document\",\n\t\t\"timestamp\": \"2025-10-23T13:59:43.075+02:00\"\n\t},\n\t\"data\": [\n\t\t{\n\t\t\t\"type\": \"oauth2-session\",\n\t\t\t\"id\": \"rB8WpbiaX0lYwFJpirHkZjSJoklNp5EJ3Skt85aq\",\n\t\t\t\"attributes\": {\n\t\t\t\t\"customAttributes\": {\n\t\t\t\t\t\"someAttribute\": \"someValue\"\n\t\t\t\t},\n\t\t\t\t\"clientId\": \"oauth2-client\",\n\t\t\t\t\"consentTimestamp\": \"2025-10-23T13:55:42.974+02:00\",\n\t\t\t\t\"authenticationTimestamp\": \"2025-10-23T13:55:42.974+02:00\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"type\": \"oauth2-session\",\n\t\t\t\"id\": \"l8JfiS03azNxLiADlt5guwzPk0N0PEYOk9yS0wmA\",\n\t\t\t\"attributes\": {\n\t\t\t\t\"customAttributes\": {},\n\t\t\t\t\"clientId\": \"openid-client\",\n\t\t\t\t\"consentTimestamp\": \"2025-10-23T12:15:44.826+02:00\",\n\t\t\t\t\"authenticationTimestamp\": \"2025-10-23T12:15:44.826+02:00\"\n\t\t\t}\n\t\t}\n\t]\n}\n"; decompiled/com/airlock/iam/common/infrastructure/filter/general/FilterPriority.java:10: public static final int RESPONSE_DELAY_AND_SINGLE_REQUEST_PER_SESSION = 200; decompiled/com/airlock/iam/oauth2/infrastructure/resource/rest/OAuth2ErrorResponse.java:66: this.authenticateHeader.ifPresent(header -> response.header("WWW-Authenticate", header)); decompiled/com/airlock/iam/common/infrastructure/filter/general/CombinedRequestDelayAndIamSessionFilter.java:23: public static final String RESPONSE_DELAY_DISABLED = "responseDelayDisabled"; decompiled/com/airlock/iam/oauth2/infrastructure/resource/rest/OAuth2CurrentSessionResource.java:54: private static final String SESSION_RESPONSE_EXAMPLE = "{\n\t\"meta\": {\n\t\t\"type\": \"jsonapi.metadata.document\",\n\t\t\"timestamp\": \"2025-10-23T13:48:13.428+02:00\"\n\t},\n\t\"data\": {\n\t\t\"type\": \"oauth2-session\",\n\t\t\"id\": \"ii0t9QfQDZ50u7tx1yvGGViG5WZ1dBqpFHSwt7vo\",\n\t\t\"attributes\": {\n\t\t\t\"customAttributes\": {\n\t\t\t\t\"someAttribute\": \"someValue\"\n\t\t\t},\n\t\t\t\"clientId\": \"oauth2-client\",\n\t\t\t\"consentTimestamp\": \"2025-10-23T13:38:09.213+02:00\",\n\t\t\t\"authenticationTimestamp\": \"2025-10-23T13:38:09.213+02:00\"\n\t\t}\n\t}\n}\n"; decompiled/com/airlock/iam/oauth2/infrastructure/resource/v3/OAuth2CheckSessionEndpointResource.java:77: .header( decompiled/com/airlock/iam/oauth2/infrastructure/resource/v3/OAuth2AuthorizationEndpointResource.java:83: return Response.status(Status.FOUND).header("Location", redirectUri).type("text/plain").build(); decompiled/com/airlock/iam/common/infrastructure/i18n/I18nRequest.java:55: return this.request.getHeader("If-Modified-Since") != null ? this.request.getDateHeader("If-Modified-Since") : -1L; decompiled/com/airlock/iam/common/infrastructure/i18n/I18nRequest.java:59: return Optional.ofNullable(this.request.getHeader("If-None-Match")); decompiled/com/airlock/iam/oauth2/infrastructure/request/OAuth2HttpServletRequestWrapper.java:52: public Optional getHeader(String name) { decompiled/com/airlock/iam/oauth2/infrastructure/request/OAuth2HttpServletRequestWrapper.java:53: return Optional.ofNullable(this.request.getHeader(name)); decompiled/com/airlock/iam/oauth2/infrastructure/idpropagation/DefaultFormPostPropagator.java:9: public static final String FORM_POST_HEADER_NAME = "X-Form-POST"; decompiled/com/airlock/iam/oauth2/infrastructure/idpropagation/DefaultFormPostPropagator.java:19: this.response.addHeader("X-Form-POST", UrlUtils.urlEncodeUrlParameter(value)); decompiled/com/airlock/iam/common/infrastructure/loginhistory/DatabaseLoginHistoryRepository.java:280: new DatabaseLoginHistoryRepository.StringValueHandler("header_user_agent", entry.getRequestAttributes().getHeader("User-Agent").orElse(null), 512) decompiled/com/airlock/iam/common/infrastructure/loginhistory/DatabaseLoginHistoryRepository.java:284: "header_accept_encoding", entry.getRequestAttributes().getHeader("Accept-Encoding").orElse(null), 512 decompiled/com/airlock/iam/common/infrastructure/loginhistory/DatabaseLoginHistoryRepository.java:289: "header_accept_language", entry.getRequestAttributes().getHeader("Accept-Language").orElse(null), 512 decompiled/com/airlock/iam/common/infrastructure/credential/AuthorizationHeaderExtractor.java:10: return Optional.ofNullable(request.getHeader("Authorization")); decompiled/com/airlock/iam/common/infrastructure/request/HttpRequestMtlsClientCertificateExtractorImpl.java:37: return Optional.ofNullable(((HttpServletRequest)this.request.get()).getHeader(this.config.getHttpHeaderName())) decompiled/com/airlock/iam/common/infrastructure/request/AirlockEnvCookiesInformationServiceImpl.java:156: LOG.debug(String.format("Trying to extract mTLS client certificate from cookie %s.", LogUtil.quote(cookiePrefix + "SSL_CLIENT_CERT"))); decompiled/com/airlock/iam/common/infrastructure/request/AirlockEnvCookiesInformationServiceImpl.java:193: return ((Optional)this.wafConfig.get()).map(WafSettings::getEnvironmentCookiePrefix).orElse("AL_ENV_"); decompiled/com/airlock/iam/common/infrastructure/request/RequestAttributeExtractor.java:32: headers.add(new HttpHeader(headerName, request.getHeader(headerName))); decompiled/com/airlock/iam/common/infrastructure/request/HttpRequestUrlExtractorImpl.java:32: return Optional.ofNullable(((HttpServletRequest)this.request.get()).getHeader(headerName)).map(String::trim).flatMap(value -> { decompiled/com/airlock/iam/common/infrastructure/request/HttpRequestIdExtractorImpl.java:29: return Optional.ofNullable(((HttpServletRequest)this.request.get()).getHeader(this.config.getHttpHeaderName())) decompiled/com/airlock/iam/oauth2/api/domain/model/http/OAuth2HttpRequest.java:20: Optional getHeader(String var1); decompiled/com/airlock/iam/oauth2/domain/model/codegrant/OAuth2AuthorizationCodeGrantFlowSessionAttribute.java:35: private static final String RESPONSE_TYPE_KEY = "response_type"; decompiled/com/airlock/iam/oauth2/domain/model/codegrant/OAuth2AuthorizationCodeGrantFlowSessionAttribute.java:37: private static final String RESPONSE_MODE_KEY = "response_mode"; decompiled/com/airlock/iam/oauth2/domain/model/OAuth2Param.java:4: RESPONSE_TYPE("response_type"), decompiled/com/airlock/iam/oauth2/domain/model/OAuth2Param.java:5: RESPONSE_MODE("response_mode"), decompiled/com/airlock/iam/oauth2/domain/model/validation/OAuth2Error.java:15: UNSUPPORTED_RESPONSE_TYPE("unsupported_response_type"), decompiled/com/airlock/iam/oauth2/domain/model/validation/OAuth2Error.java:16: UNSUPPORTED_RESPONSE_MODE("unsupported_response_mode"), decompiled/com/airlock/iam/common/api/domain/model/request/RequestAttributes.java:14: Optional getHeader(String var1); decompiled/com/airlock/iam/oauth2/domain/model/tokenexchange/OAuth2TokenExchangeErrorResponse.java:9: private static final Pattern ERROR_RESPONSE_INVALID_CHARACTERS_PATTERN = Pattern.compile("[^\\x20-\\x21\\x23-\\x5B\\x5D-\\x7E]"); decompiled/com/airlock/iam/oauth2/domain/model/tokenexchange/OAuth2TokenExchangeErrorResponse.java:23: return ERROR_RESPONSE_INVALID_CHARACTERS_PATTERN.matcher(description).replaceAll("?"); decompiled/com/airlock/iam/oauth2/domain/model/client/communication/OAuth2ClientCommunicatorImpl.java:95: if (!this.checkCSRFToken(clientSession, authorizationResponse)) { decompiled/com/airlock/iam/oauth2/domain/model/client/communication/OAuth2ClientCommunicatorImpl.java:163: private boolean checkCSRFToken(OAuth2ClientSession clientSession, OAuth2AuthorizationSuccessResponse response) { decompiled/com/airlock/iam/common/domain/model/jwt/signature/JsonWebSignatureToken.java:41: public JsonWebSignatureToken.Header header() { decompiled/com/airlock/iam/common/domain/model/jwt/signature/JsonWebSignatureToken.java:42: JWSHeader header = this.signedJWT.getHeader(); decompiled/com/airlock/iam/oauth2/domain/model/token/IdToken.java:51: return this.idToken.flatMap(jwsToken -> jwsToken.header().keyId()).map(KeyId::keyId); decompiled/com/airlock/iam/oauth2/domain/model/token/IdToken.java:120: return this.jwt.getHeader().getAlgorithm().getName(); decompiled/com/airlock/iam/common/domain/model/jwt/signature/JwsVerifierImpl.java:99: return this.verifier.verify(signedJWT.getHeader(), signedJWT.getSigningInput(), signedJWT.getSignature()); decompiled/com/airlock/iam/common/domain/model/request/RequestAttributesImpl.java:27: public Optional getHeader(String name) { decompiled/com/airlock/iam/common/domain/model/request/RequestAttributesImpl.java:163: public RequestAttributesImpl.RequestAttributesImplBuilder clearHttpHeaders() { decompiled/com/airlock/iam/common/domain/model/token/secretquestions/SecretQuestionsNormalization.java:11: TRIM_CASEINSENSITIVE_NOWHITESPACE("\\s", true, true), decompiled/com/airlock/iam/common/domain/model/token/secretquestions/SecretQuestionsNormalization.java:12: TRIM_CASEINSENSITIVE_NOWHITESPACE_NOSPECIALCHARS("[\\W\\s]", true, true); decompiled/com/airlock/iam/oauth2/domain/service/codegrant/OAuth2AuthorizationCodeRequestValidatorImpl.java:55: AuthorizationErrorResult.errorResult(errorResponseBuilder.buildResponse(OAuth2Error.UNSUPPORTED_RESPONSE_TYPE, "Missing response type")) decompiled/com/airlock/iam/oauth2/domain/service/codegrant/OAuth2AuthorizationCodeRequestValidatorImpl.java:66: OAuth2Error.UNSUPPORTED_RESPONSE_TYPE, "Invalid response type: " + LogUtil.logSafeQuote(requestedResponseType.get().responseType()) decompiled/com/airlock/iam/oauth2/domain/service/codegrant/OAuth2AuthorizationCodeRequestValidatorImpl.java:86: OAuth2Error.UNSUPPORTED_RESPONSE_MODE, "Unsupported response mode: " + LogUtil.logSafeQuote(requestedResponseMode.get().value()) decompiled/com/airlock/iam/oauth2/domain/service/codegrant/OpenIdConnectAuthenticationRequestValidatorImpl.java:161: AuthorizationErrorResult.errorResult(errorResponseBuilder.buildResponse(OAuth2Error.UNSUPPORTED_RESPONSE_TYPE, "Missing response type")) decompiled/com/airlock/iam/oauth2/domain/service/codegrant/OpenIdConnectAuthenticationRequestValidatorImpl.java:184: OAuth2Error.UNSUPPORTED_RESPONSE_TYPE, "Invalid response type: " + LogUtil.logSafeQuote(oAuth2ResponseType.responseType()) decompiled/com/airlock/iam/oauth2/domain/service/codegrant/OpenIdConnectAuthenticationRequestValidatorImpl.java:203: OAuth2Error.UNSUPPORTED_RESPONSE_TYPE, "Invalid response type: " + LogUtil.logSafeQuote(oAuth2ResponseType.responseType()) decompiled/com/airlock/iam/oauth2/domain/service/codegrant/OpenIdConnectAuthenticationRequestValidatorImpl.java:221: OAuth2Error.UNSUPPORTED_RESPONSE_TYPE, "Invalid response type: " + LogUtil.logSafeQuote(oAuth2ResponseType.responseType()) decompiled/com/airlock/iam/oauth2/domain/service/codegrant/OpenIdConnectAuthenticationRequestValidatorImpl.java:243: errorResponseBuilder.buildResponse(OAuth2Error.UNSUPPORTED_RESPONSE_MODE, "Invalid response mode: " + LogUtil.logSafeQuote(responseMode.value())) decompiled/com/airlock/iam/oauth2/domain/service/codegrant/OpenIdConnectAuthenticationRequestValidatorImpl.java:269: errorResponseBuilder.buildResponse(OAuth2Error.UNSUPPORTED_RESPONSE_MODE, "Invalid response mode: " + LogUtil.logSafeQuote(responseMode.value())) decompiled/com/airlock/iam/oauth2/domain/service/codegrant/OpenIdConnectAuthenticationRequestValidatorImpl.java:287: OAuth2Error.UNSUPPORTED_RESPONSE_TYPE, "Invalid response type: " + LogUtil.logSafeQuote(oAuth2ResponseType.responseType()) decompiled/com/airlock/iam/oauth2/domain/service/clientauthentication/clientsecret/OAuth2HeaderClientSecretMethod.java:41: return request.getHeader(((OAuth2HeaderClientSecretMethodSettings)this.settings.get()).headerField()) decompiled/com/airlock/iam/oauth2/domain/service/clientauthentication/clientsecret/OAuth2BasicAuthClientSecretMethod.java:43: request.getHeader("Authorization"), ((OAuth2BasicAuthClientSecretMethodSettings)this.settings.get()).charset() decompiled/com/airlock/iam/common/domain/service/e2ee/JwePasswordDecryptionService.java:104: Optional customNonceHeader = Optional.ofNullable((String)jwe.getHeader().getCustomParam("nonce")); decompiled/com/airlock/iam/common/domain/service/jwt/signature/JwtSignatureVerifierImpl.java:58: return validator.validateSignature(jwsToken.header().keyId(), JwksSignatureValidator.defaultValidator(jwsToken)); decompiled/com/airlock/iam/common/domain/service/jwt/signature/JwtSignatureVerifierImpl.java:67: return List.of(token.header().getValidatedAlgorithm()); decompiled/com/airlock/iam/common/domain/service/jwt/signature/JwtSignatureVerifierImpl.java:136: boolean isCorrectAlgorithm = this.algorithmConstraint.map(alg -> alg.name().equals(signedJWT.header().algorithmName())).orElse(true); decompiled/com/airlock/iam/common/domain/service/jwt/signature/JwtSignatureVerifierImpl.java:142: + signedJWT.header().algorithmName() decompiled/com/airlock/iam/common/domain/service/jwt/encryption/JwtTicketDirectAesEncrypterDecrypter.java:109: this.checkAlgorithmAndEncryptionMethod(jwe.getHeader()); decompiled/com/airlock/iam/common/domain/service/jwt/encryption/JwtTicketDirectAesEncrypterDecrypter.java:166: JWEHeader header = cryptoParts.getHeader(); decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/FlowContinuationStepConfig.java:22: description = "Non-interactive flow step that continues a flow based on a token that must be provided in a request header X-Flow-Continuation-Token. Based on the token, this step initializes the flow with the same data, e.g. user identity, as the flow that issued the token.

Such a token is for example provided by a \"Send Email Link Step\".

", decompiled/com/airlock/iam/publicselfservice/application/configuration/steps/FlowContinuationStepConfig.java:27: public static final String FLOW_CONTINUATION_HEADER = "X-Flow-Continuation-Token"; decompiled/com/airlock/iam/publicselfservice/infrastructure/factory/FlowContinuationStepModule.java:29: return Optional.ofNullable(request.getHeader("X-Flow-Continuation-Token")).map(FlowContinuationToken::new); decompiled/com/airlock/iam/flow/shared/application/configuration/fido/FidoApprovalStepActions.java:17: return FidoApprovalStepActions.Action.FIDO_APPROVAL_ASSERTION_RESPONSE_REQUIRED; decompiled/com/airlock/iam/flow/shared/application/configuration/fido/FidoApprovalStepActions.java:26: FIDO_APPROVAL_ASSERTION_RESPONSE_REQUIRED; decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceMtanApprovalResource.java:42: private static final String FLOW_RESULT_EXAMPLE_RESPONSE = "{\n\t\"meta\": {\n\t \"type\": \"jsonapi.metadata.document\",\n\t \"timestamp\": \"2025-07-03T11:11:42.240+02:00\"\n\t},\n\t\"included\": [\n\t {\n\t\t\"type\": \"public-self-service.approval.mtan.otp.resend.information\",\n\t\t\"id\": \"797271294\",\n\t\t\"attributes\": {\n\t\t \"otpResendPossible\": false\n\t\t}\n\t }\n\t],\n\t\"data\": {\n\t \"type\": \"public-self-service.session\",\n\t \"id\": \"516534791446228062\",\n\t \"attributes\": {\n\t\t\"nextAuthStep\": \"MTAN_OTP_REQUIRED\",\n\t\t\"phoneNumber\": \"+41799876543\",\n\t\t\"resendPossible\": false\n\t }\n\t}\n}\n"; decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceFidoApprovalResource.java:53: description = "Further steps required.\n
Possible next step: FIDO_APPROVAL_ASSERTION_RESPONSE_REQUIRED (as documented here).\n", decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServicMatrixApprovalResource.java:51: description = "> [!caution]\n> This endpoint is deprecated. The challenges are returned as\nadditional attribute with the MATRIX_RESPONSE_REQUIRED next step code.\n

Returns one or more challenges for matrix/index list approval.

\n
A list of one or more matrix coordinates or index list indexes.
", decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServicMatrixApprovalResource.java:75: description = "
\n\n\n\n\n
MATRIX_RESPONSE_WRONGOne or more responses could not be validated successfully. Retry again.
\nSince challenge coordinates may change after failed attempts (depending on configuration),\nthe new ones might have to be requested again.
\n
\n
Possible next step: MATRIX_RESPONSE_REQUIRED (as documented here).\n", decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServicMatrixApprovalResource.java:83: description = "
\n\n\n\n\n\n\n\n\n
MATRIX_RESPONSE_WRONGOne or more responses could not be validated successfully.
TOO_MANY_UNANSWERED_CHALLENGESToo many challenges were requested but not answered. Try again later.
\n
\n
The current public self-service flow has been aborted.\n
Possible next step: none.\n", decompiled/com/airlock/iam/publicselfservice/infrastructure/resource/PublicSelfServiceFlowResource.java:112: description = "Selects a public self-service flow.\n

This endpoint can additionally be called with a flow continuation token attached as X-Flow-Continuation-Token\nheader to the request. This token is interpreted by a \"Flow Continuation Step\" that is typically the first step of a public\nself-service flow. Such flows are initialized with the same data, e.g. user identity, as the flow that issued\nthe continuation token.

\n
A success response with a next step indicating the required next action.
", decompiled/com/airlock/iam/publicselfservice/domain/model/flow/session/CrontoApprovalStealthStepSession.java:10: private static final String MAX_RESPONSE_RETRIES_KEY = "maxResponseRetries"; decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:71: return this.stepResultFactory().stay(DeviceTokenVerificationStep.DeviceTokenVerificationStepActions.DEVICE_TOKEN_RESPONSE_REQUIRED).build(); decompiled/com/airlock/iam/publicselfservice/domain/model/step/DeviceTokenIdentityVerificationStep.java:82: .stay(DeviceTokenVerificationStep.DeviceTokenVerificationStepActions.DEVICE_TOKEN_RESPONSE_REQUIRED) decompiled/com/airlock/iam/flow/shared/infrastructure/factory/captcha/CaptchaProcessorModule.java:20: private static final String CAPTCHA_SOLUTION_HEADER = "X-Captcha-Solution"; decompiled/com/airlock/iam/flow/shared/infrastructure/factory/captcha/CaptchaProcessorModule.java:45: return Optional.ofNullable(request.getHeader("X-Captcha-Solution")).map(CaptchaSolution::new); decompiled/com/airlock/iam/flow/shared/infrastructure/service/newdevice/LoginFromNewDeviceKnownUsersSerializer.java:96: JWEHeader jwtHeader = jwt.getHeader(); decompiled/com/airlock/iam/flow/shared/infrastructure/service/newdevice/LoginFromNewDeviceKnownUsersSerializer.java:106: JWEAlgorithm algorithmFromJWT = encryptedJWT.getHeader().getAlgorithm(); decompiled/com/airlock/iam/admin/application/configuration/AdminappRestConfig.java:80: description = "

If enabled, REST endpoints are protected against CSRF attacks.

With this protection, the REST API only accepts requests that contain the custom header X-Same-Domain with an arbitrary non-empty value. In cross-origin resource sharing (CORS), such requests are not considered simple requests and thus must always be preceded by a preflight request, which prevents cross-site request forgery (CSRF) attacks.

Security warning: Disabling this feature may allow CSRF attacks. Only do so if the REST client is unable to comply with the aforementioned restrictions.

", decompiled/com/airlock/iam/admin/application/service/token/vasco/VascoOtpPersistencyService.java:36: .get(VascoToken.getAuthenticationModeFilter(AuthenticationMode.RESPONSE_ONLY).filterSerialId(tokenId.asString())); decompiled/com/airlock/iam/admin/application/service/token/vasco/VascoOtpPersistencyService.java:209: VascoToken.getAuthenticationModeFilter(AuthenticationMode.RESPONSE_ONLY).filterObsoletesToken(token).filterUserForMultiassignmentTokens(userId) decompiled/com/airlock/iam/flow/shared/domain/model/devicetoken/DeviceTokenVerificationStep.java:91: DEVICE_TOKEN_RESPONSE_REQUIRED; decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingStep.java:14: MATRIX_RESPONSE_WRONG, decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingStepImpl.java:65: .stay(MatrixCheckingStepActions.MATRIX_RESPONSE_REQUIRED) decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingResultMapper.java:59: return stepResultFactory.stay(MatrixCheckingStepActions.MATRIX_RESPONSE_REQUIRED) decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingResultMapper.java:62: } else if (authResult.isOfType(AuthenticationFailedChallenge.RESPONSE_WRONG_INDEX_CHALLENGE) decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingResultMapper.java:63: || authResult.isOfType(AuthenticationFailedChallenge.RESPONSE_WRONG_MATRIX_CHALLENGE)) { decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingResultMapper.java:64: return stepResultFactory.failRetry(MatrixCheckingStep.MatrixAuthStepErrors.MATRIX_RESPONSE_WRONG, MatrixCheckingStepActions.MATRIX_RESPONSE_REQUIRED) decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingResultMapper.java:67: } else if (authResult.isOfType(AuthenticationFailedChallenge.RESPONSE_WRONG) || authResult.isOfType(AuthenticationFailedChallenge.RESPONSE_EXPIRED)) { decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingResultMapper.java:68: return stepResultFactory.fail(MatrixCheckingStep.MatrixAuthStepErrors.MATRIX_RESPONSE_WRONG).build(); decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingResultMapper.java:84: || authResult.isOfType(AuthenticationFailedChallenge.RESPONSE_WRONG_INDEX_CHALLENGE)) { decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingResultMapper.java:94: && !authResult.isOfType(AuthenticationFailedChallenge.RESPONSE_WRONG_MATRIX_CHALLENGE)) { decompiled/com/airlock/iam/flow/shared/domain/model/matrix/MatrixCheckingStepActions.java:6: MATRIX_RESPONSE_REQUIRED; decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoRegistrationStepImpl.java:125: .stay(FidoRegistrationStep.FidoRegistrationStepAction.FIDO_REGISTRATION_ATTESTATION_RESPONSE_REQUIRED) decompiled/com/airlock/iam/flow/shared/domain/model/fido/FidoRegistrationStep.java:19: FIDO_REGISTRATION_ATTESTATION_RESPONSE_REQUIRED; decompiled/com/airlock/iam/flow/shared/domain/service/devicetoken/DeviceTokenAuthenticationService.java:117: String jwtAlgorithm = jwsToken.header().algorithmName(); decompiled/com/airlock/iam/flow/infrastructure/FlowContinuationCheckerImpl.java:10: private static final String CONTINUE_HEADER = "X-Continue-Flow"; decompiled/com/airlock/iam/flow/infrastructure/FlowContinuationCheckerImpl.java:20: String continueHeader = this.request.getHeader("X-Continue-Flow"); decompiled/com/airlock/iam/openfedlib/saml2/state/Saml2DataMapProvider.java:29: IDP_RESPONSES_BY_ARTIFACT, decompiled/com/airlock/iam/factor/application/configuration/airlock2fa/Airlock2FASettings.java:137: public static final String RESPECT_COOLDOWN_DISPLAY_NAME = "Respect Cooldown Period"; decompiled/com/airlock/iam/factor/application/service/airlock2fa/Airlock2FAAuthenticator.java:498: return this.failResult(session, AuthenticationFailedChallenge.RESPONSE_WRONG_AIRLOCK_2FA_CHALLENGE); decompiled/com/airlock/iam/admin/infrastructure/resource/prot/techclient/TechClientResource.java:59: private static final String TECH_CLIENT_RESP_EXAMPLE = "{\n\t \"meta\":{\n\t \"type\":\"jsonapi.metadata.document\",\n\t \"timestamp\":\"2020-02-18T10:21:26.825+01:00\"\n\t},\n\t\"data\":{\n\t \"type\":\"tech-client\",\n\t \"id\":\"4e7932a5-1a7f-43b9-ab3b-ecb3ea76635c\",\n\t \"attributes\":{\n\t\t\"displayName\":\"myClient\",\n\t\t\"creationDate\":\"2020-02-18T10:19:36.106+01:00\"\n\t },\n\t \"relationships\":{\n\t\t\"subscription\":{\n\t\t \"data\":{\n\t\t\t\"type\":\"subscription\",\n\t\t\t\"id\":\"8d0d2b59-2155-4eb2-a523-3c90b67df35f\"\n\t\t }\n\t\t},\n\t\t\"api-keys\":{\n\t\t \"data\":[\n\t\t\t{\n\t\t\t \"type\":\"api-key\",\n\t\t\t \"id\":\"c017b120-1a0d-4aa5-9667-51ac1c951383\"\n\t\t\t},\n\t\t\t{\n\t\t\t \"type\":\"api-key\",\n\t\t\t \"id\":\"50066ef1-30f8-40b7-a6ed-b5a56d7c255a\"\n\t\t\t}\n\t\t ]\n\t\t}\n\t }\n\t}\n}\n"; decompiled/com/airlock/iam/factor/infrastructure/rest/airlock2fa/futurae/FuturaeRequestFactory.java:44: .header("Accept", List.of("application/json")) decompiled/com/airlock/iam/factor/infrastructure/rest/airlock2fa/futurae/FuturaeRequestFactory.java:45: .header("Content-Type", List.of("application/json")) decompiled/com/airlock/iam/factor/infrastructure/rest/airlock2fa/futurae/FuturaeRequestFactory.java:58: .header("Accept", List.of("application/json")) decompiled/com/airlock/iam/factor/infrastructure/rest/airlock2fa/futurae/FuturaeRequestFactory.java:67: .header("Accept", List.of("application/json")) decompiled/com/airlock/iam/factor/infrastructure/rest/airlock2fa/futurae/FuturaeRequestFactory.java:68: .header("Content-Type", List.of("application/json")) decompiled/com/airlock/iam/factor/infrastructure/rest/airlock2fa/futurae/FuturaeRequestFactory.java:77: .header("Accept", List.of("application/json")) decompiled/com/airlock/iam/factor/infrastructure/rest/airlock2fa/futurae/FuturaeRequestFactory.java:92: authenticationHeaders.getHeaders().forEach((key, value) -> request.header(key, List.of(value))); decompiled/com/airlock/iam/factor/domain/model/fido/FidoKnownAuthenticatorMetadata.java:110: ONESPAN_DIGIPASS_FX1_BIO("30b5035e-d297-4ff1-b00b-addc96ba6a98", "OneSpan DIGIPASS FX1 BIO"), decompiled/com/airlock/iam/factor/domain/model/fido/FidoKnownAuthenticatorMetadata.java:111: ONESPAN_FIDO_TOUCH("30b5035e-d297-4fc1-b00b-addc96ba6a97", "OneSpan FIDO Touch"), decompiled/com/airlock/iam/admin/infrastructure/resource/prot/AdminappResource.java:210: return ErrorResponse.unauthorized().header("WWW-Authenticate", "None").log(this.getUnauthorizedReason()).build().toResponse(); decompiled/com/airlock/iam/apipolicyservice/application/configuration/ApiPolicyServiceAppConfig.java:44: public static final String WAF_REQUEST_ID_HEADER = "X-AL-RequestId"; decompiled/com/airlock/iam/apipolicyservice/application/configuration/ApiPolicyServiceAppConfig.java:45: public static final String WAF_SESSION_ID_HEADER = "X-AL-SessionId"; decompiled/com/airlock/iam/apipolicyservice/application/configuration/ApiPolicyServiceAppConfig.java:46: public static final String WAF_REMOTE_ADDR_HEADER = "X-AL-RemoteAddr"; decompiled/com/airlock/iam/apipolicyservice/infrastructure/log/ApiPolicyServiceLogContextInitializer.java:55: String reqId = this.request.getHeader("X-AL-RequestId"); decompiled/com/airlock/iam/apipolicyservice/infrastructure/log/ApiPolicyServiceLogContextInitializer.java:61: String sessId = this.request.getHeader("X-AL-SessionId"); decompiled/com/airlock/iam/apipolicyservice/infrastructure/log/ApiPolicyServiceLogContextInitializer.java:73: String remoteAddr = this.request.getHeader("X-AL-RemoteAddr"); decompiled/com/airlock/iam/apipolicyservice/infrastructure/log/ApiPolicyServiceLogContextInitializer.java:83: String corrId = this.request.getHeader(settings.headerName()); decompiled/com/airlock/iam/apipolicyservice/infrastructure/credential/ApiPolicyServiceRequestAuthentication.java:25: public static final String API_POLICY_SERVICE_AUTH_HEADER = "X-AL-ApiPolicy-Auth"; decompiled/com/airlock/iam/apipolicyservice/infrastructure/credential/ApiPolicyServiceRequestAuthentication.java:36: SsoTicketExtractor ticketExtractor = () -> request.extractHeaderValue("X-AL-ApiPolicy-Auth"); decompiled/com/airlock/iam/admin/infrastructure/resource/prot/token/VascoLicenseResource.java:95: return this.importLicense(file, licenseKey, Optional.empty(), AuthenticationMode.RESPONSE_ONLY, "token.vasco-otp.license.import"); decompiled/com/airlock/iam/admin/infrastructure/resource/prot/token/VascoLicenseResource.java:202: .forElement(((VascoLicenseService)this.service.get()).getLicenseInfo(AuthenticationMode.RESPONSE_ONLY), VascoOtpLicenseData.class) decompiled/com/airlock/iam/techclientreg/infrastructure/resource/OAuth2DynamicClientRegistrationResource.java:89: description = "Registers an OAuth 2.0 technical client.\n

This endpoint is implemented in accordance with RFC 7591 - OAuth 2.0 Dynamic Client Registration Protocol.

\n

To be RFC-compliant, this endpoint does not require the CSRF protection header X-Same-Domain.\nRequests to this endpoint are guaranteed to be non-simple, because of the enforced non-simple content type\napplication/json.

\n
Whether the registration was successful and if so, includes what metadata were registered.\n

\nIf an error occurs that is covered by RFC 7591, the error format described in section 3.2.2 is returned:\n

{\n\terror: string // mandatory, possible values: invalid_redirect_uri, invalid_client_metadata, invalid_software_statement or unapproved_software_statement\n\terror_description: string // optional, textual description. No API.\n}
\n

\n

\nOther errors (such as infrastructure failures or syntactically invalid requests) that are not covered by the RFC are handled\nin the default error response format as described in Error Responses.\n

\nThis endpoint is implemented as a flow which allows non-interactive steps to be placed before or after the registration step. Interactive steps\nwould violate the RFC. Please take note of the following differences to other flow endpoints:\n
    \n
  • Responses with status code 400 also terminate the flow. There's no concept of a retry.
  • \n
  • The format of a successful response is specified by the RFC and does not inform about a next step.
  • \n
", decompiled/com/airlock/iam/techclientreg/domain/model/registration/AuthorizationCodeGrantProcessor.java:8: private static final String CODE_RESPONSE_TYPE = "code"; decompiled/com/airlock/iam/techclientreg/domain/model/registration/ImplicitGrantProcessor.java:8: private static final String TOKEN_RESPONSE_TYPE = "token"; decompiled/com/airlock/iam/techclientreg/domain/model/step/OAuth2ClientRegistrationResponseData.java:40: private static final String RESPONSE_TYPES_KEY = "responseTypes"; decompiled/com/airlock/iam/servicecontainer/app/application/configuration/event/azure/AzureMessageBrokerConnectorConfig.java:47: public static final String EVENT_HUB_NAMESPACE_PROPERTY = "eventHubNamespace"; decompiled/com/airlock/iam/admin/infrastructure/resource/prot/token/VascoOtpDeviceResource.java:56: private static final String VASCO_DEVICE_DATA_RESP_EXAMPLE = "{\n\t\"meta\": {\n\t\t\"type\": \"jsonapi.metadata.document\",\n\t\t\"timestamp\": \"2017-04-05T09:52:50.638+02:00\"\n\t},\n\t\"data\": {\n\t\t\"type\": \"token.vasco.device\",\n\t\t\"id\": \"2\",\n\t\t\"attributes\": {\n\t\t\t\"activationDate\": \"2017-04-05T09:51:27.636+02:00\",\n\t\t\t\"numberOfUsages\": 12,\n\t\t\t\"enabled\": true\n\t\t},\n\t\t\"relationships\": {\n\t\t\t\"assignees\": {\n\t\t\t\t\"data\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"type\": \"user\",\n\t\t\t\t\t\t\"id\": \"233\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"type\": \"user\",\n\t\t\t\t\t\t\"id\": \"19\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t}\n}\n"; decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/RadiusAttribute.java:31: ARAP_CHALLENGE_RESPONSE_BYTES("ARAP-Challenge-Response", 84, RadiusAttributeValueSetter.OCTETS), decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/RadiusAttribute.java:59: DIGEST_RESPONSE_STRING("Digest-Response", 206, RadiusAttributeValueSetter.STRING_UTF8), decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/RadiusAttribute.java:94: FRAMED_IPX_NETWORK_IPV4("Framed-IPX-Network", 23, RadiusAttributeValueSetter.IPV4_ADDRESS), decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/service/AuthenticationState.java:70: RESPONSE_TO_CHALLENGE, decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/service/RadiusPacketHandler.java:282: return (Credential)(authState.filter(s -> s.getStateCode() == AuthenticationState.Identifier.RESPONSE_TO_CHALLENGE).isPresent() decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/service/RadiusPacketHandler.java:536: AuthenticationState authState = new AuthenticationState(session, AuthenticationState.Identifier.RESPONSE_TO_CHALLENGE, ssoPassword); decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/service/RadiusPacketHandler.java:556: AuthenticationState authState = new AuthenticationState(session, AuthenticationState.Identifier.RESPONSE_TO_CHALLENGE, ssoPassword); decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:29: .put(23, "Framed-IPX-Network") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:106: .put(119, "X-Ascend-FCP-Parameter") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:107: .put(120, "X-Ascend-Modem-PortNo") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:108: .put(121, "X-Ascend-Modem-SlotNo") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:109: .put(122, "X-Ascend-Modem-ShelfNo") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:110: .put(123, "X-Ascend-Call-Attempt-Limit") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:111: .put(124, "X-Ascend-Call-Block-Duration") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:112: .put(125, "X-Ascend-Maximum-Call-Duration") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:114: .put(127, "X-Ascend-Tunneling-Protocol") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:115: .put(128, "X-Ascend-Shared-Profile-Enable") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:116: .put(129, "X-Ascend-Primary-Home-Agent") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:117: .put(130, "X-Ascend-Secondary-Home-Agent") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:118: .put(131, "X-Ascend-Dialout-Allowed") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:119: .put(132, "X-Ascend-Client-Gateway") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:120: .put(133, "X-Ascend-BACP-Enable") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:121: .put(134, "X-Ascend-DHCP-Maximum-Leases") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:122: .put(135, "X-Ascend-Client-Primary-DNS") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:123: .put(136, "X-Ascend-Client-Secondary-DNS") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:124: .put(137, "X-Ascend-Client-Assign-DNS") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:125: .put(138, "X-Ascend-User-Acct-Type") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:126: .put(139, "X-Ascend-User-Acct-Host") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:127: .put(140, "X-Ascend-User-Acct-Port") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:128: .put(141, "X-Ascend-User-Acct-Key") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:129: .put(142, "X-Ascend-User-Acct-Base") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:130: .put(143, "X-Ascend-User-Acct-Time") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:131: .put(144, "X-Ascend-Assign-IP-Client") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:132: .put(145, "X-Ascend-Assign-IP-Server") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:133: .put(146, "X-Ascend-Assign-IP-Global-Pool") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:134: .put(147, "X-Ascend-DHCP-Reply") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:135: .put(148, "X-Ascend-DHCP-Pool-Number") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:136: .put(149, "X-Ascend-Expect-Callback") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:137: .put(150, "X-Ascend-Event-Type") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:138: .put(151, "X-Ascend-Session-Svr-Key") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:139: .put(152, "X-Ascend-Multicast-Rate-Limit") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:140: .put(153, "X-Ascend-IF-Netmask") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:141: .put(154, "X-Ascend-Remote-Addr") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:142: .put(155, "X-Ascend-Multicast-Client") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:143: .put(156, "X-Ascend-FR-Circuit-Name") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:144: .put(157, "X-Ascend-FR-LinkUp") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:145: .put(158, "X-Ascend-FR-Nailed-Grp") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:146: .put(159, "X-Ascend-FR-Type") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:147: .put(160, "X-Ascend-FR-Link-Mgt") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:148: .put(161, "X-Ascend-FR-N391") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:149: .put(162, "X-Ascend-FR-DCE-N392") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:150: .put(163, "X-Ascend-FR-DTE-N392") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:151: .put(164, "X-Ascend-FR-DCE-N393") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:152: .put(165, "X-Ascend-FR-DTE-N393") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:153: .put(166, "X-Ascend-FR-T391") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:154: .put(167, "X-Ascend-FR-T392") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:155: .put(168, "X-Ascend-Bridge-Address") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:156: .put(169, "X-Ascend-TS-Idle-Limit") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:157: .put(170, "X-Ascend-TS-Idle-Mode") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:158: .put(171, "X-Ascend-DBA-Monitor") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:159: .put(172, "X-Ascend-Base-Channel-Count") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:160: .put(173, "X-Ascend-Minimum-Channels") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:161: .put(174, "X-Ascend-IPX-Route") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:162: .put(175, "X-Ascend-FT1-Caller") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:163: .put(176, "X-Ascend-Backup") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:164: .put(177, "X-Ascend-Call-Type") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:165: .put(178, "X-Ascend-Group") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:166: .put(179, "X-Ascend-FR-DLCI") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:167: .put(180, "X-Ascend-FR-Profile-Name") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:168: .put(181, "X-Ascend-Ara-PW") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:169: .put(182, "X-Ascend-IPX-Node-Addr") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:170: .put(183, "X-Ascend-Home-Agent-IP-Addr") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:171: .put(184, "X-Ascend-Home-Agent-Password") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:172: .put(185, "X-Ascend-Home-Network-Name") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:173: .put(186, "X-Ascend-Home-Agent-UDP-Port") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:174: .put(187, "X-Ascend-Multilink-ID") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:175: .put(188, "X-Ascend-Num-In-Multilink") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:176: .put(189, "X-Ascend-First-Dest") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:177: .put(190, "X-Ascend-Pre-Input-Octets") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:178: .put(191, "X-Ascend-Pre-Output-Octets") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:179: .put(192, "X-Ascend-Pre-Input-Packets") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:180: .put(193, "X-Ascend-Pre-Output-Packets") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:181: .put(194, "X-Ascend-Maximum-Time") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:182: .put(195, "X-Ascend-Disconnect-Cause") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:183: .put(196, "X-Ascend-Connect-Progress") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:184: .put(197, "X-Ascend-Data-Rate") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:185: .put(198, "X-Ascend-PreSession-Time") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:186: .put(199, "X-Ascend-Token-Idle") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:187: .put(200, "X-Ascend-Token-Immediate") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:188: .put(201, "X-Ascend-Require-Auth") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:189: .put(202, "X-Ascend-Number-Sessions") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:190: .put(203, "X-Ascend-Authen-Alias") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:191: .put(204, "X-Ascend-Token-Expiry") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:192: .put(205, "X-Ascend-Menu-Selector") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:195: .put(208, "X-Ascend-PW-Lifetime") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:196: .put(209, "X-Ascend-IP-Direct") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:197: .put(210, "X-Ascend-PPP-VJ-Slot-Comp") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:198: .put(211, "X-Ascend-PPP-VJ-1172") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:199: .put(212, "X-Ascend-PPP-Async-Map") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:200: .put(213, "X-Ascend-Third-Prompt") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:201: .put(214, "X-Ascend-Send-Secret") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:202: .put(215, "X-Ascend-Receive-Secret") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:203: .put(216, "X-Ascend-IPX-Peer-Mode") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:204: .put(217, "X-Ascend-IP-Pool-Definition") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:205: .put(218, "X-Ascend-Assign-IP-Pool") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:206: .put(219, "X-Ascend-FR-Direct") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:207: .put(220, "X-Ascend-FR-Direct-Profile") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:208: .put(221, "X-Ascend-FR-Direct-DLCI") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:209: .put(222, "X-Ascend-Handle-IPX") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:210: .put(223, "X-Ascend-Netware-timeout") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:211: .put(224, "X-Ascend-IPX-Alias") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:212: .put(225, "X-Ascend-Metric") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:213: .put(226, "X-Ascend-PRI-Number-Type") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:214: .put(227, "X-Ascend-Dial-Number") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:215: .put(228, "X-Ascend-Route-IP") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:216: .put(229, "X-Ascend-Route-IPX") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:217: .put(230, "X-Ascend-Bridge") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:218: .put(231, "X-Ascend-Send-Auth") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:219: .put(232, "X-Ascend-Send-Passwd") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:220: .put(233, "X-Ascend-Link-Compression") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:221: .put(234, "X-Ascend-Target-Util") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:222: .put(235, "X-Ascend-Maximum-Channels") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:223: .put(236, "X-Ascend-Inc-Channel-Count") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:224: .put(237, "X-Ascend-Dec-Channel-Count") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:225: .put(238, "X-Ascend-Seconds-Of-History") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:226: .put(239, "X-Ascend-History-Weigh-Type") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:227: .put(240, "X-Ascend-Add-Seconds") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:228: .put(241, "X-Ascend-Remove-Seconds") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:229: .put(242, "X-Ascend-Data-Filter") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:230: .put(243, "X-Ascend-Call-Filter") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:231: .put(244, "X-Ascend-Idle-Limit") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:232: .put(245, "X-Ascend-Preempt-Limit") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:233: .put(246, "X-Ascend-Callback") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:234: .put(247, "X-Ascend-Data-Svc") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:235: .put(248, "X-Ascend-Force-56") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:236: .put(249, "X-Ascend-Billing-Number") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:238: .put(251, "X-Ascend-Transit-Number") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:239: .put(252, "X-Ascend-Host-Info") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:240: .put(253, "X-Ascend-PPP-Address") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:241: .put(254, "X-Ascend-MPP-Idle-Percent") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributesNames.java:242: .put(255, "X-Ascend-Xmit-Rate") decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributeValueUtil.java:49: .put("Xylogics-IPX-SLIP", 5L) decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributeValueUtil.java:71: .put("Bintec-X75BTX-PPP", 17825804L) decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributeValueUtil.java:77: .put(13, ImmutableMap.builder().put("None", 0L).put("Van-Jacobson-TCP-IP", 1L).put("IPX-Header-Compression", 2L).put("Stac-LZS", 3L).build()) decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributeValueUtil.java:190: .put("Wireless-1X-EV", 24L) decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributeValueUtil.java:216: .put("ESP", 9L) decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributeValueUtil.java:298: .put("IEEE-802.1X-No-Preauth", 2L) decompiled/com/airlock/iam/servicecontainer/app/application/service/radius/wrapper/internal/tinyradius/AttributeValueUtil.java:299: .put("IEEE-802.1X-Preauth", 3L) decompiled/com/airlock/iam/servicecontainer/app/infrastructure/webapp/view/ContentView.java:63: this.addComponent(this.getHeader()); decompiled/com/airlock/iam/servicecontainer/app/infrastructure/webapp/view/ContentView.java:132: private HorizontalLayout getHeader() { decompiled/com/airlock/iam/servicecontainer/app/infrastructure/event/kafka/KafkaConnectionTestlet.java:227: return "Connection to Kafka broker failed.\n

Error message: %s

\n

Please ensure that:\n

    \n
  • A TCP connection can be established to at least on of the configured bootstrap servers: %s
  • \n
  • The configured TLS/mTLS settings correspond to the expected security protocol by the broker (e.g. PLAIN, SSL, SSL_CLIENT_AUTH).
  • \n
  • The configured authentication plugin corresponds to the expected SASL authentication mechanism by the broker (e.g. PLAIN, OAUTHBEARER, SCRAM-SHA-256, ...).
  • \n
  • The configured topic exists on the Kafka broker.
  • \n

" decompiled/com/airlock/iam/admin/infrastructure/resource/prot/user/UsersResource.java:240: .header("Content-Type", result.contentType()) decompiled/com/airlock/iam/admin/infrastructure/resource/prot/user/UsersResource.java:241: .header("Content-Disposition", "attachment; filename=" + result.fileName()) decompiled/com/airlock/iam/admin/infrastructure/resource/prot/user/UsersResource.java:242: .header("Pragma", "") decompiled/com/airlock/iam/admin/infrastructure/resource/prot/user/UsersResource.java:243: .header("Cache-Control", "") decompiled/com/airlock/iam/saml2/application/configuration/SamlAccessCookieIdentityPropagator.java:147: suggestedValues = "X-Correlation-ID", decompiled/com/airlock/iam/saml2/infrastructure/resource/Saml2IdpSsoResource.java:100: ? Response.status(Status.FOUND).header("Location", redirectUri.get()).build() decompiled/com/airlock/iam/saml2/infrastructure/resource/Saml2IdpSloResource.java:97: return redirectUri.isPresent() ? Response.status(Status.FOUND).header("Location", redirectUri.get()).build() : this.responseFromLibrary(); decompiled/com/airlock/iam/saml2/infrastructure/resource/Saml2SpSsoResource.java:65: return Response.status(Status.FOUND).header("Location", redirectUri).build(); decompiled/com/airlock/iam/saml2/infrastructure/resource/Saml2SpSloResource.java:106: return Response.status(Status.FOUND).header("Location", redirectUri).build(); decompiled/com/airlock/iam/saml2/infrastructure/resource/Saml2SpSloResource.java:112: return Response.status(Status.FOUND).header("Location", uiLogoutResumeUri).build(); decompiled/com/airlock/iam/saml2/infrastructure/resource/Saml2SpSloResource.java:116: return redirectUri.isPresent() ? Response.status(Status.FOUND).header("Location", redirectUri.get()).build() : this.responseFromLibrary(); decompiled/com/airlock/iam/saml2/infrastructure/plugin/LoggerImpl.java:14: private static final Pattern WHITESPACE_PATTERN = Pattern.compile("[ \r\n\t]{2,}"); decompiled/com/airlock/iam/saml2/infrastructure/plugin/LoggerImpl.java:43: data[i] = WHITESPACE_PATTERN.matcher(entry).replaceAll(" "); decompiled/com/airlock/iam/saml2/infrastructure/exception/ValidationExceptionMapper.java:41: return Response.status(Status.FOUND).header("Location", ((Saml2ErrorUri)this.errorUri.get()).getUri()).build(); decompiled/com/airlock/iam/saml2/infrastructure/exception/NotFoundExceptionMapper.java:33: return Response.status(Status.FOUND).header("Location", ((Saml2ErrorUri)this.errorUri.get()).getUri()).build(); decompiled/com/airlock/iam/saml2/infrastructure/exception/ClientErrorExceptionMapper.java:38: return Response.status(Status.FOUND).header("Location", ((Saml2ErrorUri)this.errorUri.get()).getUri()).build(); decompiled/com/airlock/iam/saml2/infrastructure/exception/Saml2ExceptionMapper.java:31: return Response.status(Status.FOUND).header("Location", ((Saml2ErrorUri)this.errorUri.get()).getUri()).build(); decompiled/com/airlock/iam/saml2/infrastructure/state/Saml2StateStoreMapsInitializationHook.java:50: Saml2DataMapProvider.DataMapId.IDP_RESPONSES_BY_ARTIFACT, decompiled/com/airlock/iam/admin/infrastructure/resource/prot/user/tokens/GenericTokenResource.java:63: private static final String GENERIC_TOKEN_DATA_RESP_EXAMPLE = "{\n\t\"meta\": {\n\t\t\"type\": \"jsonapi.metadata.document\",\n\t\t\"timestamp\": \"2017-04-05T09:52:50.638+02:00\"\n\t},\n\t\"data\": {\n\t\t\"type\": \"user.token.generic\",\n\t\t\"id\": \"2\",\n\t\t\"attributes\": {\n\t\t\t\"generationDate\": \"2017-04-05T09:51:27.636+02:00\",\n\t\t\t\"activationDate\": \"2017-04-05T09:51:27.636+02:00\",\n\t\t\t\"enabled\": true,\n\t\t\t\"contextData\": {\n\t\t\t\t\"givenname\": \"Max\",\n\t\t\t\t\"email\": \"max@airlock.com\"\n\t\t\t}\n\t\t},\n\t\t\"relationships\": {\n\t\t\t\"previous\": {\n\t\t\t\t\"data\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"type\": \"user.token.generic\",\n\t\t\t\t\t\t\"id\": \"1\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t\"next\": {\n\t\t\t\t\"data\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"type\": \"user.token.generic\",\n\t\t\t\t\t\t\"id\": \"3\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t}\n}\n"; decompiled/com/airlock/iam/saml2/domain/model/sp/step/Saml2SpSsoSessionAttribute.java:20: private static final String IN_RESPONSE_TO_KEY = "inResponseTo"; decompiled/com/airlock/iam/security/certificate/CertificateIO.java:136: throw new ParseException("PEM encoded object does not start with \"-----XXXX-----\".", 0); decompiled/com/airlock/iam/security/certificate/CertificateIO.java:141: throw new ParseException("PEM encoded object does not start with \"-----XXXX-----\".", 0); decompiled/com/airlock/iam/security/certificate/CertificateIO.java:147: throw new ParseException("PEM encoded certificate does not end with \"-----XXXX-----\".", 0); decompiled/com/airlock/iam/security/certificate/AsymmetricKeyPairUtils.java:41: private static final Pattern WHITESPACE_PATTERN = Pattern.compile("\\s+"); decompiled/com/airlock/iam/security/certificate/AsymmetricKeyPairUtils.java:47: .map(pubKey -> removeMatchedPattern(pubKey, WHITESPACE_PATTERN)) decompiled/com/airlock/iam/transactionapproval/application/configuration/TransactionApprovalApp.java:92: description = "

If enabled, REST endpoints are protected against CSRF attacks.

With this protection, the REST API only accepts requests that contain the custom header X-Same-Domain with an arbitrary non-empty value. In cross-origin resource sharing (CORS), such requests are not considered simple requests and thus must always be preceded by a preflight request, which prevents cross-site request forgery (CSRF) attacks.

Security warning: Disabling this feature may allow CSRF attacks. Only do so if the REST client is unable to comply with the aforementioned restrictions.

", decompiled/com/airlock/iam/transactionapproval/application/configuration/fido/FidoTransactionApprovalStepActions.java:11: return com.airlock.iam.flow.shared.application.configuration.fido.FidoApprovalStepActions.Action.FIDO_APPROVAL_ASSERTION_RESPONSE_REQUIRED; decompiled/com/airlock/iam/transactionapproval/application/configuration/fido/FidoTransactionApprovalStepActions.java:15: return com.airlock.iam.flow.shared.application.configuration.fido.FidoApprovalStepActions.Action.FIDO_APPROVAL_ASSERTION_RESPONSE_REQUIRED; decompiled/com/airlock/iam/transactionapproval/application/configuration/fido/FidoTransactionApprovalStepActions.java:23: FIDO_APPROVAL_ASSERTION_RESPONSE_REQUIRED; decompiled/com/airlock/iam/transactionapproval/infrastructure/filter/TransactionApprovalAuthenticationFilter.java:114: requestContext.abortWith(ErrorResponse.unauthorized().header("WWW-Authenticate", "None").log(logMessage).build().toResponse()); decompiled/com/airlock/iam/admin/infrastructure/resource/prot/user/tokens/UserVascoOtpDeviceResource.java:50: private static final String VASCO_DEVICE_RESP_EXAMPLE = "{\n\t\"meta\": {\n\t\t\"type\": \"jsonapi.metadata.document\",\n\t\t\"timestamp\": \"2017-04-05T09:52:50.638+02:00\"\n\t},\n\t\"data\": {\n\t\t\"type\": \"user.token.vasco.device\",\n\t\t\"id\": \"2\",\n\t\t\"attributes\": {\n\t\t\t\"activationDate\": \"2017-04-05T09:51:27.636+02:00\",\n\t\t\t\"numberOfUsages\": 12,\n\t\t\t\"enabled\": true\n\t\t},\n\t\t\"relationships\": {\n\t\t\t\"previous-device\": {\n\t\t\t\t\"data\": {\n\t\t\t\t\t\"type\": \"user.token.vasco.device\",\n\t\t\t\t\t\"id\": \"1\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"next-device\": {\n\t\t\t\t\"data\": {\n\t\t\t\t\t\"type\": \"user.token.vasco.device\",\n\t\t\t\t\t\"id\": \"3\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"; decompiled/com/airlock/iam/transactionapproval/infrastructure/resource/matrix/MatrixTransactionApprovalFlowResource.java:61: description = "> [!caution]\n> This endpoint is deprecated. The challenges are returned as\nadditional attribute with the MATRIX_RESPONSE_REQUIRED next step code.\n

Returns one or more challenges for matrix/index list transaction approval.

\n
A list of one or more matrix coordinates or index list indexes.
", decompiled/com/airlock/iam/transactionapproval/infrastructure/resource/matrix/MatrixTransactionApprovalFlowResource.java:94: description = "
\n\n\n\n\n
MATRIX_RESPONSE_WRONGOne or more responses could not be validated successfully. Retry again.
\nSince challenge coordinates may change after failed attempts (depending on configuration),\nthe new ones might have to be requested again.
\n
\n
Possible next step: MATRIX_RESPONSE_REQUIRED (as documented here).\n", decompiled/com/airlock/iam/transactionapproval/infrastructure/resource/matrix/MatrixTransactionApprovalFlowResource.java:102: description = "
\n\n\n\n\n\n\n\n\n
MATRIX_RESPONSE_WRONGOne or more responses could not be validated successfully.
TOO_MANY_UNANSWERED_CHALLENGESToo many challenges were requested but not answered. Try again later.
\n
\n
The current transaction approval flow has been aborted.\n
Possible next step: none.\n", decompiled/com/airlock/iam/transactionapproval/infrastructure/resource/mtan/MtanTransactionApprovalFlowResource.java:42: private static final String FLOW_RESULT_EXAMPLE_RESPONSE = "{\n \"meta\": {\n \"type\": \"jsonapi.metadata.document\",\n \"timestamp\": \"2025-07-03T11:03:00.629+02:00\"\n },\n \"included\": [\n {\n \"type\": \"transaction-approval.mtan.otp.resend.information\",\n \"id\": \"731854796\",\n \"attributes\": {\n \"otpResendPossible\": false\n }\n }\n ],\n \"data\": {\n \"type\": \"transaction-approval.session\",\n \"id\": \"572953137496921011\",\n \"attributes\": {\n \"nextStep\": \"MTAN_OTP_REQUIRED\",\n \"phoneNumber\": \"+41761234567\",\n \"resendPossible\": false\n }\n }\n}\n"; decompiled/com/airlock/iam/transactionapproval/infrastructure/resource/fido/FidoTransactionApprovalFlowResource.java:72: description = "Verify the FIDO authenticator's response.\n

The FIDO authenticator's response to the challenge (obtained previously as additional attribute\nwith the FIDO_APPROVAL_ASSERTION_RESPONSE_REQUIRED next step code) contains information about the FIDO credential\nused for this transaction approval attempt as well as metadata that will be verified by IAM.

\n

This endpoint cannot verify or guarantee that the user has seen the transaction approval message sent with the challenge.\nThe FIDO/WebAuthn standard does currently not offer WYSIWYS (What you see is what you sign).

\n
Whether the check was successful. If the attribute nextStep is present in the response,\n further steps are required.
", decompiled/com/airlock/iam/login/application/configuration/location/propagate/HeaderURIPropagationConfig.java:10: @StringProperty(description = "The name of the HTTP header.", optional = false, exampleValues = {"X-Forward-URL", "X-Location"}) decompiled/com/airlock/iam/admin/infrastructure/resource/prot/UserManagementExtensionResource.java:60: return ErrorResponse.unauthorized().header("WWW-Authenticate", "None").log(this.getUnauthorizedReason()).build().toResponse(); decompiled/com/airlock/iam/login/application/configuration/gateway/LoginappGatewayConfig.java:59: defaultValue = "AL_ENV_" decompiled/com/airlock/iam/login/application/service/kerberos/LegacyKerberosServiceImpl.java:43: return request.getHeader("Authorization") != null && request.getHeader("Authorization").startsWith("Negotiate "); decompiled/com/airlock/iam/login/application/service/kerberos/LegacyKerberosServiceImpl.java:49: String authHeader = request.getHeader("Authorization"); decompiled/com/airlock/iam/login/rest/infrastructure/factory/shared/RememberMeRequestMetadataFactory.java:34: .getHeader("User-Agent") decompiled/com/airlock/iam/login/rest/infrastructure/filter/prot/auth/UserValidityFilter.java:20: private static final String CHANGING_RESPONSE_INVALID_USER = "Changing REST response because user became invalid: "; decompiled/com/airlock/iam/login/rest/infrastructure/filter/prot/auth/UserValidityFilter.java:21: private static final String CHANGING_RESPONSE_LOCKED_USER = "Changing REST response because user got locked: "; decompiled/com/airlock/iam/admin/infrastructure/service/RestResponseLogsService.java:87: .header("Content-Type", "text/plain") decompiled/com/airlock/iam/admin/infrastructure/service/RestResponseLogsService.java:88: .header("Content-Disposition", constructContentDispositionHeaderValue(search.logFile())) decompiled/com/airlock/iam/admin/infrastructure/service/RestResponseLogsService.java:89: .header("Pragma", "") decompiled/com/airlock/iam/admin/infrastructure/service/RestResponseLogsService.java:90: .header("Cache-Control", "") decompiled/com/airlock/iam/login/infrastructure/location/propagate/HeaderURIPropagation.java:12: public static final String DEFAULT_FORWARD_URL_HEADER_NAME = "X-Forward-URL"; decompiled/com/airlock/iam/login/infrastructure/location/propagate/HeaderURIPropagation.java:23: return new HeaderURIPropagation("X-Forward-URL", response); decompiled/com/airlock/iam/login/app/application/configuration/SecurityConfig.java:57: description = "

If enabled, REST endpoints are protected against CSRF attacks.

With this protection, the REST API only accepts requests that contain the custom header X-Same-Domain with an arbitrary non-empty value. In cross-origin resource sharing (CORS), such requests are not considered simple requests and thus must always be preceded by a preflight request, which prevents cross-site request forgery (CSRF) attacks.

Security warning: Disabling this feature may allow CSRF attacks. Only do so if the REST client is unable to comply with the aforementioned restrictions.

To be RFC-compliant, the endpoint\n/<loginapp-uri>/rest/public/tech-client-registration/oauth2/<as-identifier>/register\nnever requires the X-Same-Domain header.

\n

Requests to this endpoint are guaranteed to be non-simple, because of the enforced non-simple content\ntype application/json

", decompiled/com/airlock/iam/login/app/misc/oauth2/provider/servlet/v3/settings/OAuth2V3GrantSettingsFactory.java:134: return jwt -> publicKeyProvider.getKeyFor(jwt.header().keyId()).map(JwsVerifierImpl::forPublicKey); decompiled/com/airlock/iam/login/app/misc/oauth2/OAuth2Utils.java:15: public static final String RESPONSE_TYPE_CODE = "code"; decompiled/com/airlock/iam/login/app/misc/configuration/JwksLoginappConfig.java:23: public static final String CACHE_CONTROL_RESPONSE_HEADER_PROPERTY = "cacheControlResponseHeader"; decompiled/com/airlock/iam/login/app/misc/configuration/oauth/as/oauth2/OAuth2ResponseModeConfig.java:35: private static final String AUTHORIZATION_CODE_FLOW_QUERY_RESPONSE_TYPE = "authorizationCodeFlowQueryResponseMode"; decompiled/com/airlock/iam/login/app/misc/configuration/oauth/as/oauth2/OAuth2ResponseModeConfig.java:44: private static final String AUTHORIZATION_CODE_FLOW_FRAGMENT_RESPONSE_TYPE = "authorizationCodeFlowFragmentResponseMode"; decompiled/com/airlock/iam/login/app/misc/configuration/oauth/as/oauth2/OAuth2ResponseModeConfig.java:53: private static final String AUTHORIZATION_CODE_FLOW_FORM_POST_RESPONSE_TYPE = "authorizationCodeFlowFormPostResponseMode"; decompiled/com/airlock/iam/login/app/misc/configuration/oauth/as/oauth2/OAuth2ResponseModeConfig.java:62: private static final String HYBRID_FLOW_QUERY_RESPONSE_TYPE = "hybridFlowQueryResponseMode"; decompiled/com/airlock/iam/login/app/misc/configuration/oauth/as/oauth2/OAuth2ResponseModeConfig.java:71: private static final String HYBRID_FLOW_FRAGMENT_RESPONSE_TYPE = "hybridFlowFragmentResponseMode"; decompiled/com/airlock/iam/login/app/misc/configuration/oauth/as/oauth2/OAuth2ResponseModeConfig.java:80: private static final String HYBRID_FLOW_FORM_POST_RESPONSE_TYPE = "hybridFlowFormPostResponseMode"; decompiled/com/airlock/iam/login/app/misc/configuration/oauth/as/OAuth2ASConfig.java:385: public static final String CACHE_CONTROL_RESPONSE_HEADER_PROPERTY = "cacheControlResponseHeader"; decompiled/com/airlock/iam/login/app/misc/configuration/oneshot/MsOfbaOneShotTargetApplication.java:19: description = "Microsoft Office Forms Based Authentication (MS-OFBA) One-Shot Target Application
Note: This target application allows to authenticate HTTP requests based on the original HTTP request sent by the client to Airlock WAF. Therefore, this plugin only works with Airlock Gateway (WAF) Settings being configured.

MS-OFBA Protocol
The MS-OFBA protocol provides a mechanism by which Microsoft Office clients (e.g. Word, Excel, ...) can establish an authenticated session with a server or gateway like Airlock WAF. The three steps for establishing an identity using forms based authentication between a protocol client and a protocol server are as follows:

  1. Initialization: Prior to opening the document on the remote server, the client sends a so called protocol discovery request, which is a HTTP OPTIONS request allowing the server to determine whether the client is a browser or not, based on the headers sent (see Browser vs. Nonbrowser Clients below). In the case of an nonbrowser client, this target application responds that its authentication method is forms based authentication, by returning a 403 HTTP response including a X-FORMS_BASED_AUTH_REQUIRED header with a URL, pointing to the location to which the client should navigate to authenticate. The response also includes a X-FORMS_BASED_AUTH_RETURN_URL header, which is the location to which the protocol server will redirect the user after a successful authentication.
  2. Negotiation: Having determined that the protocol server is capable of establishing an identity by using forms based authentication, the protocol client renders the HTML returned from the request to the remote location provided by the server in step 1 (X-FORMS_BASED_AUTH_REQUIRED header). Note that the duration of this step is neither deterministic nor specified by this protocol. The reason is that the client will continue to follow as many redirects and refreshes as necessary to successfully establish the identity, until the server redirects to the return URI provided by the server in step 1 (X-FORMS_BASED_AUTH_RETURN_URL header)
  3. Finalization: After the protocol server redirects the protocol client to the return URI, the protocol client assumes that the identity has been successfully established and reissues the original request from step 1. Note that the process for actually establishing the user's identity is not specified by this protocol.

Browser vs. Nonbrowser Clients
If the request from the client contains a X-FORMS_BASED_AUTH_ACCEPTED HTTP header or the User-Agent header matches the configured user agent regular expression, the client is considered to be a nonbrowser client. In this case, a forms based authentication required response is returned as described in the Initialization step of the protocol.
In the other case, where the client is considered to be a browser, a HTTP 302 redirect to the configured redirect url is returned. In addition, a location parameter is added to the redirect location, pointing to the initially accessed URL on the WAF. Therefore, the effect of accessing this target application with a browser is the same as if the Authentication Flow on the WAF mapping would have been set to Redirect instead of One-Shot.

", decompiled/com/airlock/iam/login/app/misc/configuration/oneshot/MsOfbaOneShotTargetApplication.java:34: description = "To be recognized as a nonbrowser client that supports the MS-OFBA protocol, the protocol client MUST specify either a X-FORMS_BASED_AUTH_ACCEPTED header or a user agent string in an HTTP OPTIONS request.

IAM responds with a Forms Based Authentication Required response, as specified in the plugin description, iff

  • The X-FORMS_BASED_AUTH_ACCEPTED header field is present with a value of \"t\" or \"f\" (otherwise it is ignored) or
  • The request contains a User-Agent HTTP header that matches this regular expression pattern.
", decompiled/com/airlock/iam/login/app/misc/configuration/oneshot/MsOfbaOneShotTargetApplication.java:50: description = "The URL which will be returned to the client as X-FORMS_BASED_AUTH_REQUIRED HTTP header value in the MS-OFBA response. It MUST point to an HTTP-based server. A Location URL parameter, that points to the configured MS-OFBA Success URL will be added to this URL automatically. Therefore, the final MS-OFBA Authentication URL as received by the client wil look similar to https://myhost.com/iamPath/check-login?Location=https%3A%2F%2Fmyhost.com%2Fauth%2Fsuccess.", decompiled/com/airlock/iam/login/app/misc/configuration/oneshot/MsOfbaOneShotTargetApplication.java:57: description = "The URL which will be returned to the client as X-FORMS_BASED_AUTH_RETURN_URL HTTP header value in the MS-OFBA response. It MUST point to an HTTP-based server and accessing the URL has to result in a HTTP 200 response. For this, the IAM Success Servlet, deployed under /<iam-deployment-path>/msofba-success can be used.", decompiled/com/airlock/iam/login/app/misc/configuration/oneshot/MsOfbaOneShotTargetApplication.java:64: description = "Optional value of the X-FORMS_BASED_AUTH_DIALOG_SIZE HTTP header as returned to the client in the MS-OFBA response. This value determines the size of the window which is opened by the client when accessing the MS-OFBA Authentication URL. It must follow the format <width in pixels>x<height in pixels>. If the size of the dialog box is not specified, the value \"660x495\" is used by the protocol client.", decompiled/com/airlock/iam/admin/app/infrastructure/factory/prot/VascoLicenseServiceModule.java:34: settings.put(AuthenticationMode.RESPONSE_ONLY, this.createVascoOtpSettings((VascoOtpTokenManager)manager)); decompiled/com/airlock/iam/login/app/misc/ExceptionWrapperServlet.java:72: + LogUtil.logSafeQuote(request.getHeader("User-Agent")) decompiled/com/airlock/iam/login/app/misc/ExceptionWrapperServlet.java:114: DEBUGLOG.debug("Header[" + headername + "]=" + request.getHeader(headername)); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/HttpSignatureVerificationCredentialExtractorConfig.java:66: description = "The name of the header containing the request line of the original HTTP request. This must be added on the Airlock Gateway (WAF) mapping's Apache Expert Settings with
RequestHeader set AL_ENV_REQUEST_LINE expr=%{THE_REQUEST}", decompiled/com/airlock/iam/login/app/misc/oneshot/impl/HttpSignatureVerificationCredentialExtractorConfig.java:68: defaultValue = "AL_ENV_REQUEST_LINE" decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MandatoryHttpSignatureHeadersConfig.java:24: return new MandatoryHttpSignatureHeaderVerifier(this.httpSignatureHeader.header(), this.verifierCondition(request)); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/error/AirlockAuthWorkflowErrorBehavior.java:31: FINAL_RESPONSE { decompiled/com/airlock/iam/login/app/misc/oneshot/impl/StringHttpSignatureHeader.java:20: suggestedValues = {"Digest", "Date", "Content-Type", "Content-Length", "X-Request-ID"}, decompiled/com/airlock/iam/login/app/misc/oneshot/impl/StringHttpSignatureHeader.java:27: public HttpSignatureHeader header() { decompiled/com/airlock/iam/login/app/misc/oneshot/impl/HttpRequestHeaderPresentConditionConfig.java:21: return new HttpRequestHeaderPresentCondition(request, this.httpSignatureHeader.header().getName()); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/RequestTargetHttpSignatureHeader.java:13: public HttpSignatureHeader header() { decompiled/com/airlock/iam/login/app/misc/oneshot/impl/HeaderTicketExtractor.java:54: String headerValue = request.getHeader(this.headerName); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/HttpSignatureHeaderConfig.java:6: HttpSignatureHeader header(); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:21: private static final String MSOFBA_ACCEPTED_HEADER = "X-FORMS_BASED_AUTH_ACCEPTED"; decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:22: private static final String MSOFBA_REQUIRED_HEADER = "X-FORMS_BASED_AUTH_REQUIRED"; decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:23: private static final String MSOFBA_RETURN_URL_HEADER = "X-FORMS_BASED_AUTH_RETURN_URL"; decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:24: private static final String MSOFBA_DIALOG_SIZE_HEADER = "X-FORMS_BASED_AUTH_DIALOG_SIZE"; decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:73: response.addHeader("X-FORMS_BASED_AUTH_REQUIRED", authUrlWithParameter); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:74: response.addHeader("X-FORMS_BASED_AUTH_RETURN_URL", successUrl); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:75: dialogSize.ifPresent(size -> response.addHeader("X-FORMS_BASED_AUTH_DIALOG_SIZE", size)); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:77: LOG.debug(String.format("%s: %s", "X-FORMS_BASED_AUTH_REQUIRED", authUrlWithParameter)); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:78: LOG.debug(String.format("%s: %s", "X-FORMS_BASED_AUTH_RETURN_URL", successUrl)); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:79: dialogSize.ifPresent(size -> LOG.debug(String.format("%s: %s", "X-FORMS_BASED_AUTH_DIALOG_SIZE", size))); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:83: Optional userAgent = Optional.ofNullable(request.getHeader("User-Agent")); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:84: Optional msofbaAccepted = Optional.ofNullable(request.getHeader("X-FORMS_BASED_AUTH_ACCEPTED")); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:86: LOG.debug(String.format("%s: %s", "X-FORMS_BASED_AUTH_ACCEPTED", msofbaAccepted.orElse("header is not present"))); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:89: LOG.debug("X-FORMS_BASED_AUTH_ACCEPTED header is present with an expected value, therefore MS-OFBA is required."); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/MsOfbaOneShotAuthenticationWorkflow.java:94: LOG.debug("X-FORMS_BASED_AUTH_ACCEPTED header is present but its value is neither \"t\" nor \"f\", therefore it is ignored."); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/HeaderTokenCredentialExtractorFactory.java:21: exampleValues = {"X-Login-OTP", "X-LOGIN-TOKEN"} decompiled/com/airlock/iam/login/app/misc/oneshot/impl/HeaderTokenCredentialExtractorFactory.java:31: String value = request.getHeader(this.headerName); decompiled/com/airlock/iam/login/app/misc/oneshot/impl/BasicAuthCredentialExtractor.java:37: Optional.ofNullable(request.getHeader("Authorization")), this.charset decompiled/com/airlock/iam/login/app/misc/displaylanguage/BrowserLanguageExtractor.java:19: String acceptedLanguagesHeader = this.request.getHeader("Accept-Language"); decompiled/com/airlock/iam/login/app/infrastructure/oauth2/token/OAuth2TokenEndpointServiceImpl.java:48: private static final String ISSUED_TOKEN_TYPE_RESPONSE_ATTRIBUTE = "issued_token_type"; decompiled/com/airlock/iam/admin/app/infrastructure/reporting/RequestEnvironmentReportingDataProvider.java:42: builder.userAgent(request.getHeader("User-Agent")); decompiled/com/airlock/iam/login/app/infrastructure/reporting/RequestEnvironmentReportingDataProvider.java:33: builder.userAgent(request.getHeader("User-Agent")); decompiled/com/airlock/iam/authentication/application/configuration/targetapp/OneShotResponseHeaderConfig.java:13: @StringProperty(description = "Name of the header to be added.", exampleValues = {"Location", "X-MyInfo"}, optional = false) decompiled/com/airlock/iam/authentication/application/configuration/targetapp/OneShotTargetApplicationConfig.java:48: description = "

Configurable response mappers to specifiy HTTP status code, headers and one-shot workflow for\nnon-success responses (i.e. flow results where the flow has not competed successfully).

\n

If no mapper is configured or none matches the flow result, a default response mapper is used: if the flow result\nspecifies a WWW-Authenticate header, a 401 status and the specified header are sent to the client\n(workflow FINAL_RESPONSE), otherwise a 403 response and workflow CONTINUE are returned.\nFor typical use cases, this should be sufficient.

", decompiled/com/airlock/iam/authentication/application/configuration/targetapp/OneShotResponseMapperConfig.java:27: static final String RESPONSE_GROUP = "Response Mapping"; decompiled/com/airlock/iam/authentication/application/configuration/targetapp/OneShotResponseMapperConfig.java:57: description = "Controls the Airlock Gateway (WAF) workflow:\n
    \n
  • CONTINUE: the Gateway interprets the one-shot response (e.g. adds roles/credentials etc) and then\nre-evaluates access to the requested URL and either lets the request pass or answers with the standard 403 response.
  • \n
  • FINAL_RESPONSE: (default) the response of the one-shot request is directly passed to the client, including added headers\n(e.g. WWW-Authenticate header).
  • \n
", decompiled/com/airlock/iam/authentication/application/configuration/targetapp/OneShotResponseMapperConfig.java:58: defaultValue = "FINAL_RESPONSE", decompiled/com/airlock/iam/authentication/application/configuration/targetapp/OneShotResponseMapperConfig.java:144: public OneShotResponseMapperConfig.OneShotResponseMapperConfigBuilder header(OneShotResponseHeaderConfig header) { decompiled/com/airlock/iam/authentication/application/configuration/targetapp/TargetApplicationsConfig.java:97: private static final String LOGIN_HISTORY_RESPOSITORY_FLOW_PROPERTY = "loginHistoryRepository"; decompiled/com/airlock/iam/authentication/application/configuration/sso/LoginappUiSsoTicketExtractorConfig.java:13: description = "Extracts an SSO ticket from the Loginapp UI contained in the request headers. The header is expected to be named \"X-IAM-SSO-Ticket\".", decompiled/com/airlock/iam/authentication/application/configuration/sso/LoginappUiSsoTicketExtractorConfig.java:18: public static final String X_IAM_SSO_TICKET_HEADER_NAME = "X-IAM-SSO-Ticket"; decompiled/com/airlock/iam/authentication/application/configuration/ui/AuthenticationUiConfig.java:90: description = "Resolves the URI to be propagated to after successful authentication.
  • The resolved URL must either be absolute (i.e. using https://) or start with a slash.
  • It may be necessary to configure 'Identity Propagation' to make the authentication work.
  • Uses the custom 'X-Forward-URL' header to inform the SPA about the target. Do not set the same header again in the identity propagation of the respective authentication flow.
  • Note: this setting is irrelevant for SAML 2.0 target applications (a target application where the \"SAML 2.0 Identity Propagator\" is configured). For such an application, simply configure a resolver with \"/\" as default value.
", decompiled/com/airlock/iam/authentication/application/configuration/idpropagation/Saml2IdentityPropagatorConfig.java:26: description = "If configured, overrides the default 'X-Forward-URL' header used to transmit the redirect URI to the SPA. Useful for custom SPAs.", decompiled/com/airlock/iam/authentication/application/configuration/idpropagation/RequestHeaderTicketAdderConfig.java:14: @StringProperty(description = "The name of the header.", exampleValues = "X-AUTH-TICKET", optional = false) decompiled/com/airlock/iam/authentication/application/configuration/idpropagation/ForwardLocationParameterAdderConfig.java:13: public static final String LOGINAPP_UI_FORWARD_LOCATION_PARAMETER_HEADER = "X-SSO"; decompiled/com/airlock/iam/authentication/application/configuration/idpropagation/ResponseHeaderTicketAdderConfig.java:10: @StringProperty(description = "The name of the header.", exampleValues = "X-AUTH_TICKET", optional = false) decompiled/com/airlock/iam/authentication/application/configuration/idpropagation/OAuth2IdentityPropagatorConfig.java:8: description = "If the current flow was started using OAuth 2.0 Authorization Code Grant / OpenID Connect Authorization Code Flow, this identity propagator finishes the handshake by issuing the target URI pointing to the client with the authorization response (either containing the authorization code or an error).
This target URI to the client will be propagated in a header named \"X-Forward-URL\" and the browser should always be redirected to this URI.", decompiled/com/airlock/iam/authentication/application/configuration/fido/FidoAuthenticationStepActions.java:17: return FidoAuthenticationStepActions.Action.FIDO_AUTHENTICATION_ASSERTION_RESPONSE_REQUIRED; decompiled/com/airlock/iam/authentication/application/configuration/fido/FidoAuthenticationStepActions.java:26: FIDO_AUTHENTICATION_ASSERTION_RESPONSE_REQUIRED; decompiled/com/airlock/iam/techclient/auth/infrastructure/repository/oauth2/PersistencyToOAuth2ClientMapper.java:64: .responseTypes(jsonToStringList((String)record.get(attributes.RESPONSE_TYPES))) decompiled/com/airlock/iam/authentication/application/service/oauth2/OAuth2AuthorizationService.java:133: FlowResult authenticationRequest(String authenticationRequestQueryString, boolean isForwardedPromptNoneRequest) { decompiled/com/airlock/iam/authentication/application/service/oauth2/OAuth2AuthorizationService.java:150: .mapResult(requestAttributes -> this.handleValidatedRequest(requestAttributes, isForwardedPromptNoneRequest)) decompiled/com/airlock/iam/authentication/application/service/oauth2/OAuth2AuthorizationService.java:180: private FlowResult handleValidatedRequest(OpenIdConnectAuthenticationRequestAttributes authenticationRequest, boolean isForwardedPromptNoneRequest) { decompiled/com/airlock/iam/authentication/application/service/oauth2/OAuth2AuthorizationService.java:184: FlowResult result = this.access(authenticationRequest, scopes, isForwardedPromptNoneRequest); decompiled/com/airlock/iam/authentication/application/service/oauth2/OAuth2AuthorizationService.java:319: private FlowResult access(OpenIdConnectAuthenticationRequestAttributes request, List validatedScopes, boolean isForwardedPromptNoneRequest) { decompiled/com/airlock/iam/authentication/application/service/oauth2/OAuth2AuthorizationService.java:335: targetFlowId, this.storeLoginHintAndAuthenticationRequestAndRaiseConsentRequiredRedFlag(request, validatedScopes, isForwardedPromptNoneRequest) decompiled/com/airlock/iam/authentication/application/service/oauth2/OAuth2AuthorizationService.java:363: OpenIdConnectAuthenticationRequestAttributes authenticationRequest, List validatedScopes, boolean isForwardedPromptNoneRequest decompiled/com/airlock/iam/authentication/application/service/oauth2/OAuth2AuthorizationService.java:370: (AuthorizationServerId)this.authorizationServerId.get(), authenticationRequest, validatedScopes, isForwardedPromptNoneRequest decompiled/com/airlock/iam/authentication/infrastructure/mapper/AuthenticationFlowResponseTransformer.java:23: .ifPresent(e -> builder.status(Status.UNAUTHORIZED).header("WWW-Authenticate", wwwAuthenticate)); decompiled/com/airlock/iam/authentication/infrastructure/factory/OneShotResponseServiceFactory.java:38: AirlockControlCookieService.OneShotWorkflowAction.FINAL_RESPONSE, decompiled/com/airlock/iam/authentication/infrastructure/factory/LoginRestUiSsoTicketExtractorModule.java:27: return Optional.ofNullable(request.getHeader("X-IAM-SSO-Ticket")); decompiled/com/airlock/iam/techclient/auth/infrastructure/repository/oauth2/OAuth2TechClientRepositoryImpl.java:133: .set(Oauth2AttributesTable.OAUTH2_ATTRIBUTES.RESPONSE_TYPES, client.getResponseTypes()) decompiled/com/airlock/iam/authentication/infrastructure/resource/AuthenticationFlowResource.java:47: private static final String SLO_HEADER_NAME_PREFIX = "X-SLO-REDIRECT-URI"; decompiled/com/airlock/iam/authentication/infrastructure/resource/AuthenticationFlowResource.java:77: description = "Terminates the authenticated user session. If IAM is behind an Airlock WAF,\nthe WAF session is terminated, even if no user session exists\nlocally in IAM.\n

\nOn logout, IAM may send a series of single logout URIs in separate headers to the client. A UI client (typically an SPA) is required\nto execute a redirect to each of the returned URIs before displaying any kind of 'after logout target'.\nThe headers are named X-SLO-REDIRECT-URI(i), where i runs from 1 to the number of sent single logout URIs.\n

\nExample: X-SLO-REDIRECT-URI1, X-SLO-REDIRECT-URI2, X-SLO-REDIRECT-URI3...\n

\nThe logout URIs can either be absolute URIs (including protocol, host and optional port) or they can be relative to the current host. Relative URIs start with a '/'.\n

\n
the response
", decompiled/com/airlock/iam/authentication/infrastructure/resource/AuthenticationFlowResource.java:106: responseBuilder.header("X-SLO-REDIRECT-URI" + i, sloUris.get(i - 1).toString()); decompiled/com/airlock/iam/authentication/infrastructure/resource/MtanRegistrationAuthResource.java:39: private static final String FLOW_RESULT_EXAMPLE_RESPONSE = "{\n\t\"meta\": {\n\t \"type\": \"jsonapi.metadata.document\",\n\t \"timestamp\": \"2025-07-03T11:14:11.518+02:00\"\n\t},\n\t\"included\": [\n\t {\n\t\t\"type\": \"authentication.mtan.otp.resend.information\",\n\t\t\"id\": \"1434690641\",\n\t\t\"attributes\": {\n\t\t \"otpResendPossible\": false\n\t\t}\n\t }\n\t],\n\t\"data\": {\n\t \"type\": \"authentication.session\",\n\t \"id\": \"263074448545407763\",\n\t \"attributes\": {\n\t\t\"nextStep\": \"MTAN_REGISTRATION_OTP_REQUIRED\",\n\t\t\"phoneNumber\": \"+41761234567\",\n\t\t\"resendPossible\": false\n\t }\n\t}\n}\n"; decompiled/com/airlock/iam/authentication/infrastructure/resource/MtanAuthenticationFlowResource.java:38: private static final String FLOW_RESULT_EXAMPLE_RESPONSE = "{\n \"meta\": {\n\t\"type\": \"jsonapi.metadata.document\",\n\t\"timestamp\": \"2025-07-03T10:24:42.234+02:00\"\n },\n \"included\": [\n\t{\n\t \"type\": \"authentication.mtan.otp.resend.information\",\n\t \"id\": \"3150159828\",\n\t \"attributes\": {\n\t\t\"otpResendPossible\": false\n\t }\n\t}\n ],\n \"data\": {\n\t\"type\": \"authentication.session\",\n\t\"id\": \"803482101671883154\",\n\t\"attributes\": {\n\t \"nextAuthStep\": \"MTAN_OTP_REQUIRED\",\n\t \"phoneNumber\": \"+41761234567\",\n\t \"resendPossible\": false\n\t}\n }\n}\n"; decompiled/com/airlock/iam/authentication/infrastructure/resource/FidoAuthenticationFlowResource.java:71: description = "Further steps required.\n
Possible next step: FIDO_AUTHENTICATION_ASSERTION_RESPONSE_REQUIRED (as documented here).\n", decompiled/com/airlock/iam/authentication/infrastructure/resource/MatrixAuthenticationFlowResource.java:51: description = "> [!caution]\n> This endpoint is deprecated. The challenges are returned as\nadditional attribute with the MATRIX_RESPONSE_REQUIRED next step code.\n

Returns one or more challenges for matrix/index list authentication.

\n
A list of one or more matrix coordinates or index list indexes.
", decompiled/com/airlock/iam/authentication/infrastructure/resource/MatrixAuthenticationFlowResource.java:75: description = "
\n\n\n\n\n
MATRIX_RESPONSE_WRONGOne or more responses could not be validated successfully. Retry again.
\nSince challenge coordinates may change after failed attempts (depending on configuration),\nthe new ones might have to be requested again.
\n
\n
Possible next step: MATRIX_RESPONSE_REQUIRED (as documented here).\n", decompiled/com/airlock/iam/authentication/infrastructure/resource/MatrixAuthenticationFlowResource.java:83: description = "
\n\n\n\n\n\n\n\n\n
MATRIX_RESPONSE_WRONGOne or more responses could not be validated successfully.
TOO_MANY_UNANSWERED_CHALLENGESToo many challenges were requested but not answered. Try again later.
\n
\n
The current authentication flow has been aborted.\n
Possible next step: none.\n", decompiled/com/airlock/iam/authentication/infrastructure/resource/FidoRegistrationAuthenticationFlowResource.java:62: description = "Challenge successfully generated. Possible next steps: FIDO_REGISTRATION_ATTESTATION_RESPONSE_REQUIRED (as documented here).", decompiled/com/airlock/iam/authentication/domain/model/devicetoken/DeviceTokenAuthenticationStep.java:62: return this.stepResultFactory().stay(DeviceTokenVerificationStep.DeviceTokenVerificationStepActions.DEVICE_TOKEN_RESPONSE_REQUIRED).build(); decompiled/com/airlock/iam/authentication/domain/model/devicetoken/DeviceTokenAuthenticationStep.java:85: .stay(DeviceTokenVerificationStep.DeviceTokenVerificationStepActions.DEVICE_TOKEN_RESPONSE_REQUIRED) decompiled/com/airlock/iam/authentication/domain/model/devicetoken/DeviceTokenAuthenticationStep.java:125: DeviceTokenVerificationStep.DeviceTokenVerificationStepActions.DEVICE_TOKEN_RESPONSE_REQUIRED decompiled/com/airlock/iam/authentication/infrastructure/resource/ApplicationAccessByOAuth2AuthorizationResource.java:68: description = "Authorization is complete. The response contains the X-Forward-URL header with the URI pointing\nback to the OAuth 2.0/OpenID Connect client with the authorization response.\n", decompiled/com/airlock/iam/authentication/domain/model/risk/extractor/browser/TypicalUserAgentRiskExtractor.java:38: return requestAttributes.getHeader("User-Agent"); decompiled/com/airlock/iam/authentication/domain/model/risk/extractor/browser/TypicalUserAgentRiskExtractor.java:43: Optional userAgent = entry.getRequestAttributes().getHeader("User-Agent"); decompiled/com/airlock/iam/authentication/domain/service/rememberme/RememberMeJspTokenValidator.java:35: String algorithmFromJWT = jwsToken.header().algorithmName(); decompiled/com/airlock/iam/authentication/domain/service/rememberme/RememberMeJspTokenValidator.java:47: Optional token = mapToJspToken(jwsToken, keyId, jwsToken.header().keyId()); decompiled/com/airlock/iam/authentication/domain/service/rememberme/RememberMeJspTokenValidator.java:56: return signedJwt.header().keyId().map(KeyId::keyId).map(RememberMeJspTokenHmacKeyId::rememberMeHmacKeyId); decompiled/com/airlock/iam/authentication/domain/service/rememberme/RememberMeJspTokenValidator.java:66: JsonWebSignatureToken.Header header = jwsToken.header(); decompiled/com/airlock/iam/authentication/infrastructure/idpropagation/ForwardLocationParameterAdder.java:32: ((HttpServletResponse)this.response.get()).addHeader("X-SSO", encodedValue); decompiled/com/airlock/iam/authentication/infrastructure/idpropagation/OAuth2IdentityPropagator.java:66: if (this.isNotForwardedPromptNone()) { decompiled/com/airlock/iam/authentication/infrastructure/idpropagation/OAuth2IdentityPropagator.java:74: private boolean isNotForwardedPromptNone() { decompiled/com/airlock/iam/core/application/configuration/waf/AirlockGatewayConfig.java:29: public static final String DEFAULT_ENV_COOKIE_PREFIX = "AL_ENV_"; decompiled/com/airlock/iam/core/application/configuration/waf/AirlockGatewayConfig.java:40: defaultValue = "AL_ENV_" decompiled/com/airlock/iam/core/application/configuration/header/EncodedUserDataResponseHeader.java:36: exampleValues = {"Authorization", "X-Access-Token"} decompiled/com/airlock/iam/core/application/configuration/header/EncodedUserDataResponseHeader.java:62: public Optional getHeader(Authentee authentee, List additionalInformationToPropagate, Map parameters) { decompiled/com/airlock/iam/core/application/configuration/header/StaticResponseHeader.java:18: exampleValues = {"Authorization", "X-Access-Token", "Cache-Control"} decompiled/com/airlock/iam/core/application/configuration/header/StaticResponseHeader.java:29: public Optional getHeader(Authentee authentee, List additionalInformationToPropagate, Map parameters) { decompiled/com/airlock/iam/core/application/configuration/header/PlainUserDataResponseHeader.java:27: exampleValues = {"Authorization", "X-Access-Token"} decompiled/com/airlock/iam/core/application/configuration/header/PlainUserDataResponseHeader.java:40: public Optional getHeader(Authentee authentee, List additionalInformationToPropagate, Map parameters) { decompiled/com/airlock/iam/core/application/configuration/header/IdentityPropagationResponseHeaderProvider.java:11: Optional getHeader(Authentee var1, List var2, Map var3); decompiled/com/airlock/iam/core/misc/impl/sms/ucp/UcpSeries50Operation.java:24: public static final byte OP_RESPONSE_INQUIRY_MESSAGE = 57; decompiled/com/airlock/iam/core/misc/impl/sms/ucp/UcpSeries50Operation.java:25: public static final byte OP_RESPONSE_DELETE_MESSAGE = 58; decompiled/com/airlock/iam/core/misc/impl/sms/SmsHttpGatewayBase.java:103: suggestedValues = "X-Correlation-ID", decompiled/com/airlock/iam/authentication/infrastructure/service/basicauth/BasicAuthExtractorImpl.java:21: return HttpBasicAuthExtractor.extractBasicAuthHeader(Optional.ofNullable(((HttpServletRequest)this.request.get()).getHeader("Authorization")), encoding); decompiled/com/airlock/iam/core/misc/impl/cert/crl/AbstractHTTPConnectionOptions.java:102: suggestedValues = "X-Correlation-ID", decompiled/com/airlock/iam/core/misc/impl/sso/HttpHeaderIdentityPropagator.java:29: description = "An identity propagator that sets a HTTP header to an Airlock Gateway (WAF) mapping using the control API.

This propagator only works together with the Airlock Gateway. Using the control API (control cookie), this identity propagator plugin stores one or more HTTP headers with information selected from the authentee (username, roles, context-data) or statically configured values in the Airlock header. Each header can be stored on one or more specific Gateway mappings or on all mappings. Airlock then appends HTTP header(s) to back-end requests of the corresponding mapping(s) so the back-end(s) can use it/them.

" decompiled/com/airlock/iam/core/misc/impl/sso/AccessCookieIdentityPropagator.java:139: suggestedValues = "X-Correlation-ID", decompiled/com/airlock/iam/core/misc/impl/sso/ChainingIdentityPropagator.java:38: boolean userForwarded = false; decompiled/com/airlock/iam/core/misc/impl/sso/ChainingIdentityPropagator.java:41: userForwarded |= idProp.propagateIdentity(authentee, request, response, additionalInformationToPropagate, parameter); decompiled/com/airlock/iam/core/misc/impl/sso/ChainingIdentityPropagator.java:44: return userForwarded; decompiled/com/airlock/iam/core/misc/impl/sso/ResponseHeaderIdentityPropagator.java:39: .map(responseHeaders -> responseHeaders.getHeader(authentee, additionalInformationToPropagate, parameters)) decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoHandler.java:1042: + " because there is no Vasco OTP (RESPONSE_ONLY) token associated with this device" decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoTokenManager.java:334: vascoToken.setAuthenticationMode(VascoToken.AuthenticationMode.RESPONSE_ONLY); decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoTokenManager.java:431: List tokens = this.getTokens(VascoToken.getAuthenticationModeFilter(VascoToken.AuthenticationMode.RESPONSE_ONLY).filterSerialId(serialId)); decompiled/com/airlock/iam/core/misc/impl/cronto/vascocronto/VascoCrontoTokenManager.java:435: throw new FailureException("Expected to find single Vasco OTP (RESPONSE_ONLY) token with serialId '" + serialId + "', but instead found multiple."); decompiled/com/airlock/iam/authentication/infrastructure/service/ui/LinkConfigurationAuthenticationStepUiService.java:46: FidoAuthenticationStepActions.Action.FIDO_AUTHENTICATION_ASSERTION_RESPONSE_REQUIRED.name(), decompiled/com/airlock/iam/core/misc/impl/renderer/TextFileTokenListRenderer.java:29: allowedValues = {"WINDOWS-STYLE", "UNIX-STYLE"}, decompiled/com/airlock/iam/core/misc/impl/renderer/TextFileTokenListRenderer.java:30: defaultValue = "UNIX-STYLE" decompiled/com/airlock/iam/core/misc/impl/renderer/TextFileTokenListRenderer.java:307: case "UNIX-STYLE": decompiled/com/airlock/iam/core/misc/impl/tokenverifier/vasco/VascoTokenVerifier.java:48: VascoToken.getAuthenticationModeFilter(VascoToken.AuthenticationMode.RESPONSE_ONLY) decompiled/com/airlock/iam/core/misc/impl/tokenverifier/vasco/VascoTokenVerifier.java:113: VascoToken.getAuthenticationModeFilter(VascoToken.AuthenticationMode.RESPONSE_ONLY) decompiled/com/airlock/iam/core/misc/impl/tokenverifier/oathotp/OathOtpSettings.java:102: description = "Set to true to show the secret in HEX-code (hexa-decimal representation of the token key) in the Adminapp.
The HEX representation allows admins to transfer the token key to a mobile app. This also allows \"cloning\" the OTP generator!", decompiled/com/airlock/iam/core/misc/impl/token/VascoToken.java:125: RESPONSE_ONLY("RO", "response only"), decompiled/com/airlock/iam/core/misc/impl/token/VascoToken.java:126: CHALLENGE_RESPONSE("CR", "challenge/response"), decompiled/com/airlock/iam/authentication/infrastructure/service/oneshot/OneShotResponseService.java:33: .ifPresent(d -> builder.header("WWW-Authenticate", d.wwwAuthenticate())); decompiled/com/airlock/iam/core/misc/impl/authen/HttpPasswordService.java:177: suggestedValues = "X-Correlation-ID", decompiled/com/airlock/iam/core/misc/impl/authen/DummyTwoStepAuthenticator.java:304: ? AuthenticationFailedChallenge.RESPONSE_WRONG_MATRIX_CHALLENGE.createResult(generateMatrixChallenges(3)) decompiled/com/airlock/iam/core/misc/impl/authen/DummyTwoStepAuthenticator.java:306: mySession, LogTypes.AUTHENTICATION_FAILED_SAT, "token wrong", AuthenticationFailedChallenge.RESPONSE_WRONG.createResult() decompiled/com/airlock/iam/core/misc/impl/authen/MatrixcardAuthenticator.java:346: : AuthenticationFailedChallenge.RESPONSE_WRONG_INDEX_CHALLENGE.createResult(indicesOnPrintedList).setTokenIdentifier(tanChallenge.getListId()); decompiled/com/airlock/iam/core/misc/impl/authen/MatrixcardAuthenticator.java:369: : AuthenticationFailedChallenge.RESPONSE_WRONG_MATRIX_CHALLENGE.createResult(coords).setTokenIdentifier(tanChallenge.getListId()); decompiled/com/airlock/iam/core/misc/impl/authen/MatrixcardAuthenticator.java:394: : AuthenticationFailedChallenge.RESPONSE_EXPIRED.createResult().setTokenIdentifier(session.getTanServiceChallenge().getListId()); decompiled/com/airlock/iam/core/misc/impl/authen/MatrixcardAuthenticator.java:401: : AuthenticationFailedChallenge.RESPONSE_EXPIRED.createResult().setTokenIdentifier(session.getTanServiceChallenge().getListId()); decompiled/com/airlock/iam/core/misc/impl/authen/MatrixcardAuthenticator.java:466: return AuthenticationFailedChallenge.RESPONSE_WRONG.createResult().setTokenIdentifier(session.getTanServiceChallenge().getListId()); decompiled/com/airlock/iam/core/misc/impl/authen/DummyMatrixAuthenticator.java:37: public static final String VALID_RESPONSE = "accept"; decompiled/com/airlock/iam/core/misc/impl/authen/DummyMatrixAuthenticator.java:38: public static final String INVALID_RESPONSE = "invalid"; decompiled/com/airlock/iam/core/misc/impl/authen/DummyMatrixAuthenticator.java:39: public static final String EXCEPTION_RESPONSE = "except"; decompiled/com/airlock/iam/core/misc/impl/authen/DummyMatrixAuthenticator.java:149: AuthenticationResult failedResult = AuthenticationFailedChallenge.RESPONSE_WRONG decompiled/com/airlock/iam/core/misc/impl/authen/RadiusAuthenticator.java:115: public static final String RESPONSE_MAPPING_RULES = "Response Mapping Rules"; decompiled/com/airlock/iam/authentication/infrastructure/service/oneshot/OneShotResponseHeader.java:15: response.header(this.name, value); decompiled/com/airlock/iam/core/misc/impl/email/MimeMessageExtractor.java:131: mimeMessage.setHeader("X-Mailer", "Medusa"); decompiled/com/airlock/iam/core/misc/tokenservice/VascoTokenService.java:260: TokenDataProvider.TokenFilter vascoFilter = VascoToken.getAuthenticationModeFilter(filter, VascoToken.AuthenticationMode.RESPONSE_ONLY); decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:22: public static final AuthenticationFailedChallenge.AuthenticationFailedChallengeResponseType RESPONSE_WRONG = new AuthenticationFailedChallenge.AuthenticationFailedChallengeResponseType( decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:25: public static final AuthenticationFailedChallenge.AuthenticationFailedIndexChallengeType RESPONSE_WRONG_INDEX_CHALLENGE = new AuthenticationFailedChallenge.AuthenticationFailedIndexChallengeType( decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:28: public static final AuthenticationFailedChallenge.AuthenticationFailedMatrixChallengeType RESPONSE_WRONG_MATRIX_CHALLENGE = new AuthenticationFailedChallenge.AuthenticationFailedMatrixChallengeType( decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:31: public static final AuthenticationFailedChallenge.AuthenticationFailedStringChallengeType RESPONSE_WRONG_STRING_CHALLENGE = new AuthenticationFailedChallenge.AuthenticationFailedStringChallengeType( decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:34: public static final AuthenticationFailedChallenge.AuthenticationFailedAirlock2FAType RESPONSE_WRONG_AIRLOCK_2FA_CHALLENGE = new AuthenticationFailedChallenge.AuthenticationFailedAirlock2FAType( decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:37: public static final AuthenticationFailedChallenge.AuthenticationFailedChallengeResponseType RESPONSE_EXPIRED = new AuthenticationFailedChallenge.AuthenticationFailedChallengeResponseType( decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:114: if (this.getType() != MATRIX_CHALLENGE && this.getType() != RESPONSE_WRONG_MATRIX_CHALLENGE) { decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:115: if (this.getType() != INDEX_CHALLENGE && this.getType() != RESPONSE_WRONG_INDEX_CHALLENGE) { decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:116: if (this.getType() == STRING_CHALLENGE || this.getType() == RESPONSE_WRONG_STRING_CHALLENGE) { decompiled/com/airlock/iam/core/misc/authen/result/AuthenticationFailedChallenge.java:119: return this.getType() == RESPONSE_WRONG ? "session unknown" : "unknown challenge response"; decompiled/com/airlock/iam/core/misc/util/airlock/AirlockControlCookie.java:254: this.authWorkflow = "FINAL_RESPONSE"; decompiled/com/airlock/iam/core/misc/util/airlock/AirlockWAFEnvValues.java:120: String pemCert = this.getAirlockEnvValue("SSL_CLIENT_CERT"); decompiled/com/airlock/iam/core/misc/util/airlock/AirlockWAFEnvValues.java:125: return this.getAirlockEnvValue("SSL_CLIENT_M_VERSION"); decompiled/com/airlock/iam/core/misc/util/airlock/AirlockWAFEnvValues.java:129: return this.getAirlockEnvValue("SSL_CLIENT_M_SERIAL"); decompiled/com/airlock/iam/core/misc/util/airlock/AirlockWAFEnvValues.java:133: return this.getAirlockEnvValue("SSL_CLIENT_S_DN"); decompiled/com/airlock/iam/core/misc/util/airlock/AirlockWAFEnvValues.java:137: return this.getAirlockEnvValue("SSL_CLIENT_I_DN"); decompiled/com/airlock/iam/authentication/infrastructure/service/kerberos/SpnegoTicketExtractorImpl.java:26: return Optional.ofNullable(((HttpServletRequest)this.request.get()).getHeader("Authorization")) decompiled/com/airlock/iam/core/misc/util/airlock/AirlockEnvCookie.java:34: public static final String SSL_CLIENT_CERT_KEY = "SSL_CLIENT_CERT"; decompiled/com/airlock/iam/core/misc/util/airlock/AirlockEnvCookie.java:35: static final String SSL_CLIENT_M_VERSION_KEY = "SSL_CLIENT_M_VERSION"; decompiled/com/airlock/iam/core/misc/util/airlock/AirlockEnvCookie.java:36: static final String SSL_CLIENT_M_SERIAL_KEY = "SSL_CLIENT_M_SERIAL"; decompiled/com/airlock/iam/core/misc/util/airlock/AirlockEnvCookie.java:37: static final String SSL_CLIENT_S_DN_KEY = "SSL_CLIENT_S_DN"; decompiled/com/airlock/iam/core/misc/util/airlock/AirlockEnvCookie.java:38: static final String SSL_CLIENT_I_DN_KEY = "SSL_CLIENT_I_DN"; decompiled/com/airlock/iam/core/misc/util/vasco/DummyVascoHandler.java:47: public static final CharSequence VALID_RESPONSE = "123456"; decompiled/com/airlock/iam/core/misc/util/vasco/DummyVascoHandler.java:52: description = "The vasco token authentication mode to be used for all generated dummy tokens. Depending on you application, choose the following:
  • RESPONSE ONLY for Vasco Digipass OTP tokens
  • MASTER ACTIVATION for Cronto account licenses
", decompiled/com/airlock/iam/core/misc/util/vasco/DummyVascoHandler.java:54: defaultValue = "RESPONSE_ONLY" decompiled/com/airlock/iam/core/misc/util/vasco/DummyVascoHandler.java:156: return Strings.CS.equals(response.trim(), VALID_RESPONSE); decompiled/com/airlock/iam/core/misc/util/vasco/NativeVascoHandler.java:48: VascoToken.AuthenticationMode.RESPONSE_ONLY.getVascoId(), VascoToken.AuthenticationMode.MASTER_ACTIVATION.getVascoId() decompiled/com/airlock/iam/core/misc/util/vasco/NativeVascoHandler.java:75: description = "Defines the crypto application index for the \"OTP\" feature. This index is used when a new token is activated. If left empty, Airlock IAM will try to automatically detect the correct application (the first application with type \"RESPONSE_ONLY\").", decompiled/com/airlock/iam/core/misc/util/vasco/NativeVascoHandler.java:531: return this.autoDetectCryptoAppIndex(response, VascoToken.AuthenticationMode.RESPONSE_ONLY, Optional.empty()); decompiled/com/airlock/iam/core/misc/util/vasco/NativeVascoHandler.java:536: this.verifyCryptoAppIndex(VascoToken.AuthenticationMode.RESPONSE_ONLY, index, response); decompiled/com/airlock/iam/core/misc/util/httpclient/HttpClientConfig.java:149: suggestedValues = "X-Correlation-ID", decompiled/com/airlock/iam/core/misc/util/password/hash/SHA1HexPasswordHash.java:8: description = "

Password hash plug-in that uses SHA1 for hashing and HEX-encoding for the result.

Returns the HEX-encoded version of SHA1(salt|password) as hash value. Both the salt and the hash value are each 20 bytes (160 bits) long and together result in 80 bytes after HEX-encoding.

" decompiled/com/airlock/iam/core/domain/model/http/RequestLineHeaderHttpRequestParser.java:35: String requestLineHeaderValue = request.getHeader(this.requestLineHeaderName); decompiled/com/airlock/iam/core/domain/model/http/signature/verifier/HttpRequestHeaderPresentCondition.java:34: boolean foundHeader = requestHeaders.getHeader(this.headerName).isPresent(); decompiled/com/airlock/iam/core/domain/model/http/signature/key/X509CertificateFactory.java:21: private static final Pattern WHITESPACE_PATTERN = Pattern.compile("\\s*"); decompiled/com/airlock/iam/core/domain/model/http/signature/key/X509CertificateFactory.java:58: pemEncodedCert = WHITESPACE_PATTERN.matcher(pemEncodedCert).replaceAll(""); decompiled/com/airlock/iam/core/domain/model/http/signature/key/X509CertificateHeaderLoader.java:48: Optional certificateHeader = this.httpRequestHeaders.getHeader(this.headerName); decompiled/com/airlock/iam/core/domain/model/http/HttpRequestHeaders.java:51: public Optional getHeader(String headerName) { decompiled/com/airlock/iam/core/domain/model/http/HttpResponseHeaders.java:33: public Optional getHeader(String headerName) { decompiled/com/airlock/iam/core/domain/model/http/HttpRequest.java:37: Optional header = this.headers.getHeader(headerName); decompiled/com/airlock/iam/core/domain/model/http/HttpRequest.java:42: return this.headers.getHeader(headerName).isPresent(); decompiled/com/airlock/iam/core/misc/util/password/hash/MD5HexPasswordHash.java:8: description = "Password hash plug-in that uses MD5 for hashing and HEX-encoding for the result.

Returns the HEX-encoded version of MD5(password) as hash value, i.e. no salt is included. The hash values is 16 bytes long and results in 32 bytes after HEX-encoding.

"