new configuration version

This commit is contained in:
mamo 2024-11-18 12:43:40 +00:00
parent 9f67b134b5
commit c5d0e43a4d
5 changed files with 216 additions and 65 deletions

View File

@ -45,10 +45,11 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-612de5fc83fd2311722a210577306790f282916d"
tag: "r-2d22feca491bf9199db3855019e70ca5ffd0c219"
dir: "DEFAULT-ADN-POST-IAM-TKNXCHNG-PROJECT/DEFAULT-ADN-POST-IAM-TKNXCHNG-INV/nai"
credentials: "git-credentials"
keystores:
- "nai-sh4r3d-keystore-proxy-auth"
- "nai-default-identity"
- "nai-sh4r3d-default-default-signer"
truststores:

View File

@ -0,0 +1,18 @@
apiVersion: "operator.nevis-security.ch/v1"
kind: "NevisKeyStore"
metadata:
name: "nai-sh4r3d-keystore-proxy-auth"
namespace: "adn-postit-tknxchng-01-dev"
labels:
deploymentTarget: "nai"
annotations:
projectKey: "DEFAULT-ADN-POST-IAM-TKNXCHNG-PROJECT"
patternId: "6ec6739e824c8e56d9633622"
spec:
cn: "New_OAuth_2.0_Authorization_Server_OpenID_Provider-signer"
usage: "signer"
san:
dns:
- "nai"
- "nai.adn-postit-tknxchng-01-dev"
email: []

View File

@ -42,6 +42,11 @@
<!-- source: pattern://d9ea344685ab4a9bb0e1e3e7 -->
<KeyObject name="tokensigner" certificate="/var/opt/keys/own/tokensigner/cert.pem" privateKey="/var/opt/keys/own/tokensigner/keystore.jks" passPhrase="pipe:///var/opt/keys/own/tokensigner/keypass"/>
</KeyStore>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<KeyStore name="Store_New_OAuth_2.0_Authorization_Server_OpenID_Provider">
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<KeyObject name="Signer_New_OAuth_2.0_Authorization_Server_OpenID_Provider" certificate="/var/opt/keys/own/nai-sh4r3d-keystore-proxy-auth/cert.pem" privateKey="/var/opt/keys/own/nai-sh4r3d-keystore-proxy-auth/keystore.jks" passPhrase="pipe:///var/opt/keys/own/nai-sh4r3d-keystore-proxy-auth/keypass"/>
</KeyStore>
</SessionCoordinator>
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
<LocalOutOfContextDataStore reaperPeriod="60"/>
@ -55,13 +60,14 @@
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<Domain name="cossa_realm" default="false" inactiveInterval="7200" reauthInterval="0" resetAuthenticationCondition="${inargs:cancel}">
<Entry method="authenticate" state="cossa_realm_AuthorizationServer1"/>
<Entry method="authenticate" state="cossa_realm_TokenExchangeEndpoint" selector="${request:currentResource:^http[s]?\u003A//[^/]+/asdf/.*$:true}"/>
<Entry method="authenticate" state="cossa_realm_AuthorizationServer_New_OAuth_2.0_Authorization_Server_OpenID_Provider" selector="${request:currentResource:^http[s]?\u003A//[^/]+/asdf/.*$:true}"/>
<Entry method="authenticate" state="cossa_realm_AuthorizationServer_New_OAuth_2.0_Authorization_Server_OpenID_Provider" selector="${request:currentResource:^http[s]?\u003A//[^/]+/qwert/.*$:true}"/>
<Entry method="authenticate" state="cossa_realm_AuthorizationServer1" selector="${request:currentResource:^http[s]?\u003A//[^/]+/token/.*$:true}"/>
<Entry method="logout" state="cossa_realm_AuthorizationServer1"/>
<Entry method="logout" state="cossa_realm_AuthorizationServer1" selector="${request:currentResource:^http[s]?\u003A//[^/]+/asdf/.*$:true}"/>
<Entry method="logout" state="cossa_realm_AuthorizationServer1" selector="${request:currentResource:^http[s]?\u003A//[^/]+/token/.*$:true}"/>
<Entry method="stepup" state="cossa_realm_Selector"/>
<Entry method="stepup" state="cossa_realm_TokenExchangeEndpoint" selector="${request:currentResource:^http[s]?\u003A//[^/]+/asdf/.*$:true}"/>
<Entry method="stepup" state="cossa_realm_AuthorizationServer_New_OAuth_2.0_Authorization_Server_OpenID_Provider" selector="${request:currentResource:^http[s]?\u003A//[^/]+/asdf/.*$:true}"/>
<Entry method="stepup" state="cossa_realm_AuthorizationServer_New_OAuth_2.0_Authorization_Server_OpenID_Provider" selector="${request:currentResource:^http[s]?\u003A//[^/]+/qwert/.*$:true}"/>
<Entry method="stepup" state="cossa_realm_AuthorizationServer1" selector="${request:currentResource:^http[s]?\u003A//[^/]+/token/.*$:true}"/>
</Domain>
<AuthState name="MockRelam_DispatchMockRequests" class="ch.nevis.esauth.auth.states.standard.ConditionalDispatcherState" final="false">
@ -288,7 +294,7 @@
</AuthState>
<AuthState name="cossa_realm_Prepare_Done" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false">
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<ResultCond name="default" next="cossa_realm_Auth_Done"/>
<ResultCond name="default" next="cossa_realm_02_CheckConsent_New_OAuth_2.0_Authorization_Server_OpenID_Provider"/>
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<Response value="AUTH_DONE">
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
@ -297,6 +303,37 @@
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<property name="script" value="file:///var/opt/nevisauth/default/conf/prepare_done.groovy"/>
</AuthState>
<AuthState name="cossa_realm_02_CheckConsent_New_OAuth_2.0_Authorization_Server_OpenID_Provider" class="ch.nevis.esauth.auth.states.oauth2.consentstate.ConsentState" final="false">
<ResultCond name="ok" next="cossa_realm_Auth_Done"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<ResultCond name="reject" next="cossa_realm_Authentication_Failed"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<Response value="AUTH_CONTINUE">
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<Gui name="oauth_consent" label="title.oauth.consent">
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<GuiElem name="prompt" type="info" label="info.oauth.consent"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<GuiElem name="accept" type="button" label="accept.button.label" value="approve"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<GuiElem name="reject" type="button" label="reject.button.label" value="deny" optional="false"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<GuiElem name="clientName" type="info" label="" value="${notes:client_name}" optional="false"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<GuiElem name="clientLogo" type="image" label="" value="${notes:logo_uri}" optional="false"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<GuiElem name="clientToS" type="link" label="consent.tos.link.label" value="${notes:tos_uri}" optional="true"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<GuiElem name="clientPolicy" type="link" label="consent.policy.link.label" value="${notes:policy_uri}" optional="true"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<GuiElem name="consentInformation" type="hidden" value="${notes:consentInformation}" optional="true"/>
</Gui>
</Response>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="dataSource" value="nevismeta"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="nevismeta.location" value="https://sdgdf:443/nevismeta/rest/modules/oauthv2/setups/Setup_00000000000000000000000000000000/entities"/>
</AuthState>
<AuthState name="cossa_realm_Auth_Done" class="ch.nevis.esauth.auth.states.standard.AuthDone" final="false">
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<Response value="AUTH_DONE">
@ -304,70 +341,113 @@
<Gui name="ContinueResponse"/>
</Response>
</AuthState>
<AuthState name="cossa_realm_TokenExchangeEndpoint" class="ch.adnovum.cossa.TokenExchangeEndpoint" authLevel="auth.weak" final="false" resumeState="true">
<!-- source: pattern://89578db79d2bc15d55e11141 -->
<ResultCond name="failed" next="cossa_realm_auth_failed"/>
<!-- source: pattern://89578db79d2bc15d55e11141 -->
<ResultCond name="ok" next="cossa_realm_IdTokenVerification"/>
<!-- source: pattern://89578db79d2bc15d55e11141 -->
<Response value="AUTH_CONTINUE">
<!-- source: pattern://89578db79d2bc15d55e11141 -->
<Gui name="Default"/>
</Response>
<!-- source: pattern://89578db79d2bc15d55e11141 -->
<property name="clientId" value="client1"/>
<!-- source: pattern://89578db79d2bc15d55e11141 -->
<property name="clientSecret" value="clientPassword"/>
</AuthState>
<AuthState name="cossa_realm_IdTokenVerification" class="ch.adnovum.cossa.IdTokenVerification" final="false" resumeState="false">
<!-- source: pattern://a976546c6a56dc04c0d34592 -->
<ResultCond name="failed" next="cossa_realm_Authentication_Failed"/>
<!-- source: pattern://a976546c6a56dc04c0d34592 -->
<ResultCond name="ok" next="cossa_realm_CallRestApi"/>
<!-- source: pattern://a976546c6a56dc04c0d34592 -->
<Response value="AUTH_CONTINUE">
<!-- source: pattern://a976546c6a56dc04c0d34592 -->
<Gui name="Default"/>
</Response>
<!-- source: pattern://a976546c6a56dc04c0d34592 -->
<property name="Issuer" value="https://login.sandbox.pre.swissid.ch:443/idp/oauth2"/>
<!-- source: pattern://a976546c6a56dc04c0d34592 -->
<property name="clientId" value="klp-client"/>
<!-- source: pattern://a976546c6a56dc04c0d34592 -->
<property name="jwkSetURL" value="https://login.sandbox.pre.swissid.ch/idp/oauth2/connect/jwk_uri"/>
<!-- source: pattern://a976546c6a56dc04c0d34592 -->
<property name="httpclient.tls.trustAll" value="true"/>
</AuthState>
<AuthState name="cossa_realm_Authentication_Failed" class="ch.nevis.esauth.auth.states.standard.AuthError" final="false">
<!-- source: pattern://5daa6d4f525b11a4e9b0ea79, pattern://a976546c6a56dc04c0d34592 -->
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<Response value="AUTH_ERROR">
<!-- source: pattern://5daa6d4f525b11a4e9b0ea79, pattern://a976546c6a56dc04c0d34592 -->
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<Gui name="Error">
<!-- source: pattern://5daa6d4f525b11a4e9b0ea79, pattern://a976546c6a56dc04c0d34592 -->
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<GuiElem name="info" type="error" label="error_99"/>
<!-- source: pattern://5daa6d4f525b11a4e9b0ea79, pattern://a976546c6a56dc04c0d34592 -->
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<GuiElem name="submit" type="button" label="continue.button.label"/>
</Gui>
</Response>
</AuthState>
<AuthState name="cossa_realm_CallRestApi" class="ch.adnovum.cossa.CallPolicyVerificationAPI" final="false" resumeState="false">
<!-- source: pattern://5daa6d4f525b11a4e9b0ea79 -->
<ResultCond name="failed" next="cossa_realm_Authentication_Failed"/>
<!-- source: pattern://5daa6d4f525b11a4e9b0ea79 -->
<ResultCond name="ok" next="cossa_realm_JwtToken"/>
<!-- source: pattern://5daa6d4f525b11a4e9b0ea79 -->
<Response value="AUTH_CONTINUE">
<!-- source: pattern://5daa6d4f525b11a4e9b0ea79 -->
<Gui name="Default"/>
</Response>
<!-- source: pattern://5daa6d4f525b11a4e9b0ea79 -->
<property name="Issuer" value="https://login.sandbox.pre.swissid.ch:443/idp/oauth2"/>
<!-- source: pattern://5daa6d4f525b11a4e9b0ea79 -->
<property name="clientId" value="klp-client"/>
<!-- source: pattern://5daa6d4f525b11a4e9b0ea79 -->
<property name="jwkSetURL" value="https://klp.agov-w.azure.adnovum.net/api/endpoint"/>
<!-- source: pattern://5daa6d4f525b11a4e9b0ea79 -->
<property name="httpclient.tls.trustAll" value="true"/>
<AuthState name="cossa_realm_AuthorizationServer_New_OAuth_2.0_Authorization_Server_OpenID_Provider" class="ch.nevis.esauth.auth.states.oauth2.AuthorizationServer" final="false">
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<ResultCond name="authenticate:valid-authorization-request" next="cossa_realm_AuthorizationServer1"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<ResultCond name="invalid-authorization-request" next="cossa_realm_Authentication_Failed"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<ResultCond name="invalid-client" next="cossa_realm_Authentication_Failed"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<ResultCond name="invalid-redirect-uri" next="cossa_realm_Authentication_Failed"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<ResultCond name="invalid-token-request" next="cossa_realm_Authentication_Failed"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<ResultCond name="stepup:valid-authorization-request" next="cossa_realm_Selector"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="keystoreref" value="Store_New_OAuth_2.0_Authorization_Server_OpenID_Provider"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="keyobjectref" value="Signer_New_OAuth_2.0_Authorization_Server_OpenID_Provider"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="keyID" value="Signer_New_OAuth_2.0_Authorization_Server_OpenID_Provider"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="openid.idTokenLifetime" value="600"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="authCodeLifetime" value="60"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="propagationScope" value="session"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="dataSource" value="nevismeta"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="nevismeta.location" value="https://sdgdf:443/nevismeta/rest/modules/oauthv2/setups/Setup_00000000000000000000000000000000/entities"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="nevismeta.maxAge" value="600"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="openid.support" value="true"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="openid.issuerId" value="https://cossa.agov-w.azure.adnovum.net"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.openid" value=""/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.openid.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.openid.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.openid.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.openid.clientCredentialsFlowPolicy" value="true"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.offline_access" value=""/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.offline_access.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.offline_access.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.offline_access.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.offline_access.clientCredentialsFlowPolicy" value="true"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.address" value=""/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.address.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.address.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.address.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.address.clientCredentialsFlowPolicy" value="true"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.profile" value=""/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.profile.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.profile.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.profile.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.profile.clientCredentialsFlowPolicy" value="true"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.email" value=""/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.email.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.email.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.email.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.email.clientCredentialsFlowPolicy" value="true"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.phone" value=""/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.phone.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.phone.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.phone.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<property name="scope.phone.clientCredentialsFlowPolicy" value="true"/>
</AuthState>
<AuthState name="cossa_realm_Selector" class="ch.nevis.esauth.auth.states.standard.ConditionalDispatcherState" final="false">
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->

View File

@ -46,7 +46,7 @@ spec:
podDisruptionBudget:
maxUnavailable: "50%"
git:
tag: "r-612de5fc83fd2311722a210577306790f282916d"
tag: "r-2d22feca491bf9199db3855019e70ca5ffd0c219"
dir: "DEFAULT-ADN-POST-IAM-TKNXCHNG-PROJECT/DEFAULT-ADN-POST-IAM-TKNXCHNG-INV/npi"
credentials: "git-credentials"
keystores:

View File

@ -99,6 +99,33 @@
<param-value>/var/opt/nevisproxy/default/host-cossa.agov-w.azure.adnovum.net/WEB-INF/security_cossa_realm_tokenintrospection.conf</param-value>
</init-param>
</filter>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<filter>
<filter-name>OAuth_Preflighted_CORS_New OAuth 2.0 Authorization Server / OpenID Provider</filter-name>
<filter-class>ch::nevis::isiweb4::filter::lua::LuaFilter</filter-class>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<init-param>
<param-name>Script</param-name>
<param-value>
function inputHeader(request, response)
response:setHeader("Access-Control-Allow-Origin", "*")
response:setHeader("Access-Control-Allow-Credentials", "true")
response:setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, OPTIONS")
response:setHeader("Access-Control-Allow-Headers", "Authorization")
response:setHeader("Access-Control-Expose-Headers", "*")
response:setHeader("Access-Control-Max-Age", "600")
if request:getMethod() == "OPTIONS" then
response:send(204)
end
end
</param-value>
</init-param>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<init-param>
<param-name>Script.InputHeaderFunctionName</param-name>
<param-value>inputHeader</param-value>
</init-param>
</filter>
<!-- source: pattern://23dc4a9fcc79a12d82662747 -->
<filter>
<filter-name>Qos</filter-name>
@ -193,6 +220,21 @@
<filter-name>SessionHandler_cossa_realm</filter-name>
<url-pattern>/asdf/*</url-pattern>
</filter-mapping>
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<filter-mapping>
<filter-name>SessionHandler_cossa_realm</filter-name>
<url-pattern>/qwert/*</url-pattern>
</filter-mapping>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<filter-mapping>
<filter-name>OAuth_Preflighted_CORS_New OAuth 2.0 Authorization Server / OpenID Provider</filter-name>
<url-pattern>/asdf/*</url-pattern>
</filter-mapping>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<filter-mapping>
<filter-name>OAuth_Preflighted_CORS_New OAuth 2.0 Authorization Server / OpenID Provider</filter-name>
<url-pattern>/qwert/*</url-pattern>
</filter-mapping>
<!-- source: pattern://cc0434226c610ad74ffbf1d1 -->
<filter-mapping>
<filter-name>ModSecurity_cossa_realm_TokenIntrospection</filter-name>
@ -209,6 +251,11 @@
<url-pattern>/asdf/*</url-pattern>
</filter-mapping>
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<filter-mapping>
<filter-name>AuthenticationService_cossa_realm</filter-name>
<url-pattern>/qwert/*</url-pattern>
</filter-mapping>
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
<listener>
<listener-class>ch::nevis::isiweb4::listener::SessionListener</listener-class>
</listener>
@ -344,10 +391,10 @@
<param-value>true</param-value>
</init-param>
</servlet>
<!-- source: pattern://91f9834128204f14f958faf7 -->
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<servlet>
<servlet-name>Hosting_Default</servlet-name>
<!-- source: pattern://91f9834128204f14f958faf7 -->
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<servlet-class>ch::nevis::isiweb4::servlet::defaults::DefaultServlet</servlet-class>
</servlet>
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
@ -413,7 +460,7 @@
<param-value>/nevislogrend</param-value>
</init-param>
</servlet>
<!-- source: pattern://91f9834128204f14f958faf7 -->
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<servlet-mapping>
<servlet-name>Hosting_Default</servlet-name>
<url-pattern>/asdf/*</url-pattern>
@ -428,6 +475,11 @@
<servlet-name>Connector_cossa_realm_TokenIntrospection</servlet-name>
<url-pattern>/oauth/introspect2/*</url-pattern>
</servlet-mapping>
<!-- source: pattern://f03382307f2e35b70d181f0e -->
<servlet-mapping>
<servlet-name>Hosting_Default</servlet-name>
<url-pattern>/qwert/*</url-pattern>
</servlet-mapping>
<!-- source: pattern://4b8f4de5fefd5f33774df841 -->
<servlet-mapping>
<servlet-name>Hosting_Default</servlet-name>