283 lines
20 KiB
XML
283 lines
20 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE esauth-server SYSTEM "/opt/nevisauth/dtd/esauth4.dtd">
|
|
<esauth-server instance="nai">
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622, pattern://8523f0587aa8cfa7008f8171 -->
|
|
<SessionCoordinator sessionInitialInactivityTimeout="600" sessionInactivityTimeout="28800" sessionMaxLifetime="28800" sessionIdPreGenerate="true">
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<LocalSessionStore maxSessions="100000"/>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<TokenAssembler name="DefaultTokenAssembler">
|
|
<Selector default="true"/>
|
|
<!-- source: pattern://b67f81a971e4c08aa79040a2, pattern://8523f0587aa8cfa7008f8171 -->
|
|
<TokenSpec ttl="28800">
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<field src="session" key="ch.nevis.session.sessid" as="sessid"/>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<field src="session" key="ch.nevis.session.userid" as="userid"/>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<field src="session" key="ch.nevis.session.authlevel" as="authLevel"/>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<field src="session" key="ch.nevis.session.esauthid" as="esauthid"/>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<field src="session" key="ch.nevis.session.entryid" as="entryid"/>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<field src="session" key="ch.nevis.session.loginid" as="loginId"/>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<field src="session" key="ch.nevis.session.domain" as="domain"/>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<field src="session" key="ch.nevis.session.secroles" as="roles"/>
|
|
</TokenSpec>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<Signer key="DefaultSigner"/>
|
|
</TokenAssembler>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<KeyStore name="DefaultKeyStore">
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<KeyObject name="DefaultSigner" certificate="/var/opt/keys/own/nai-sh4r3d-default-default-signer/cert.pem" privateKey="/var/opt/keys/own/nai-sh4r3d-default-default-signer/keystore.jks" passPhrase="pipe:///var/opt/keys/own/nai-sh4r3d-default-default-signer/keypass"/>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<KeyObject name="DefaultSignerTrust" certificate="/var/opt/keys/trust/nai-default-default-signer-trust/truststore.jks"/>
|
|
</KeyStore>
|
|
<!-- source: pattern://d9ea344685ab4a9bb0e1e3e7 -->
|
|
<KeyStore name="JwtToken">
|
|
<!-- 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>
|
|
</SessionCoordinator>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622 -->
|
|
<LocalOutOfContextDataStore reaperPeriod="60"/>
|
|
<!-- source: pattern://6ec6739e824c8e56d9633622, pattern://8523f0587aa8cfa7008f8171, pattern://6ec6739e824c8e56d9633622 -->
|
|
<AuthEngine useLiteralDictionary="true" literalDictionaryLanguages="en,de,fr,it" inputLanguageCookie="LANG" compatLevel="none" addAutheLevelToSecRoles="true" classPath="/var/opt/nevisauth/default/plugin:/opt/nevisauth/plugin" propagateSession="false">
|
|
<!-- source: pattern://8523f0587aa8cfa7008f8171 -->
|
|
<Domain name="New_Authentication_Realm" default="false" inactiveInterval="7200" reauthInterval="0" resetAuthenticationCondition="${inargs:cancel}">
|
|
<Entry method="authenticate" state="New_Authentication_Realm_New_JSON_Response_Step"/>
|
|
<Entry method="stepup" state="New_Authentication_Realm_Selector"/>
|
|
</Domain>
|
|
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
|
|
<Domain name="cossa_realm" default="false" inactiveInterval="7200" reauthInterval="0" resetAuthenticationCondition="${inargs:cancel}">
|
|
<Entry method="authenticate" state="cossa_realm_TokenExchangeEndpoint"/>
|
|
<Entry method="authenticate" state="cossa_realm_TokenExchangeEndpoint" selector="${request:currentResource:^http[s]?\u003A//[^/]+/token/.*$:true}"/>
|
|
<Entry method="logout" state="cossa_realm_AuthorizationServer"/>
|
|
<Entry method="logout" state="cossa_realm_AuthorizationServer" 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//[^/]+/token/.*$:true}"/>
|
|
</Domain>
|
|
<AuthState name="New_Authentication_Realm_New_JSON_Response_Step" class="ch.nevis.esauth.auth.states.directResponse.DirectResponseState" final="true" resumeState="false">
|
|
<!-- source: pattern://3f7b857b6d35114fcd8c4984 -->
|
|
<Response value="AUTH_DONE"/>
|
|
<!-- source: pattern://3f7b857b6d35114fcd8c4984 -->
|
|
<property name="content" value="file:///var/opt/nevisauth/default/conf/new_authentication_realm_new_json_response_step.json"/>
|
|
<!-- source: pattern://3f7b857b6d35114fcd8c4984 -->
|
|
<property name="contentType" value="application/json"/>
|
|
<!-- source: pattern://3f7b857b6d35114fcd8c4984 -->
|
|
<property name="statusCode" value="200"/>
|
|
</AuthState>
|
|
<AuthState name="New_Authentication_Realm_Selector" class="ch.nevis.esauth.auth.states.standard.ConditionalDispatcherState" final="false">
|
|
<!-- source: pattern://8523f0587aa8cfa7008f8171 -->
|
|
<ResultCond name="nomatch" next="New_Authentication_Realm_Prepare_Done"/>
|
|
<!-- source: pattern://8523f0587aa8cfa7008f8171 -->
|
|
<Response value="AUTH_ERROR">
|
|
<!-- source: pattern://8523f0587aa8cfa7008f8171 -->
|
|
<Arg name="ch.nevis.isiweb4.response.status" value="403"/>
|
|
</Response>
|
|
</AuthState>
|
|
<AuthState name="New_Authentication_Realm_Prepare_Done" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false">
|
|
<!-- source: pattern://8523f0587aa8cfa7008f8171 -->
|
|
<ResultCond name="default" next="New_Authentication_Realm_Auth_Done"/>
|
|
<!-- source: pattern://8523f0587aa8cfa7008f8171 -->
|
|
<Response value="AUTH_DONE">
|
|
<!-- source: pattern://8523f0587aa8cfa7008f8171 -->
|
|
<Gui name="ContinueResponse"/>
|
|
</Response>
|
|
<!-- source: pattern://8523f0587aa8cfa7008f8171 -->
|
|
<property name="script" value="file:///var/opt/nevisauth/default/conf/prepare_done.groovy"/>
|
|
</AuthState>
|
|
<AuthState name="New_Authentication_Realm_Auth_Done" class="ch.nevis.esauth.auth.states.standard.AuthDone" final="false">
|
|
<!-- source: pattern://8523f0587aa8cfa7008f8171 -->
|
|
<Response value="AUTH_DONE">
|
|
<!-- source: pattern://8523f0587aa8cfa7008f8171 -->
|
|
<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_sec_token_prep_prov"/>
|
|
<!-- 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_auth_failed" class="ch.nevis.esauth.auth.states.standard.AuthError" final="false">
|
|
<!-- source: pattern://72e29eb80a951e518ce123e4 -->
|
|
<Response value="AUTH_ERROR">
|
|
<!-- source: pattern://72e29eb80a951e518ce123e4 -->
|
|
<Gui name="Error">
|
|
<!-- source: pattern://72e29eb80a951e518ce123e4 -->
|
|
<GuiElem name="info" type="error" label="error_99"/>
|
|
<!-- source: pattern://72e29eb80a951e518ce123e4 -->
|
|
<GuiElem name="submit" type="button" label="continue.button.label"/>
|
|
</Gui>
|
|
</Response>
|
|
</AuthState>
|
|
<AuthState name="cossa_realm_sec_token_prep_prov" class="ch.nevis.esauth.auth.states.standard.TransformAttributes" final="false">
|
|
<!-- source: pattern://32290d5b7c7cdb369674c3a0 -->
|
|
<ResultCond name="ok" next="cossa_realm_JwtToken"/>
|
|
<!-- source: pattern://32290d5b7c7cdb369674c3a0 -->
|
|
<Response value="AUTH_ERROR">
|
|
<!-- source: pattern://32290d5b7c7cdb369674c3a0 -->
|
|
<Arg name="ch.nevis.isiweb4.response.status" value="403"/>
|
|
</Response>
|
|
<!-- source: pattern://32290d5b7c7cdb369674c3a0 -->
|
|
<property name="request:UserId" value="12345"/>
|
|
</AuthState>
|
|
<AuthState name="cossa_realm_JwtToken" class="ch.nevis.esauth.auth.states.jwt.JWTToken" final="false" resumeState="true">
|
|
<!-- source: pattern://a1e5d0192e082e689465a0c9 -->
|
|
<ResultCond name="ok" next="cossa_realm_Prepare_Done"/>
|
|
<!-- source: pattern://a1e5d0192e082e689465a0c9 -->
|
|
<Response value="AUTH_ERROR"/>
|
|
<!-- source: pattern://a1e5d0192e082e689465a0c9 -->
|
|
<property name="out.audience" value="https://www.adnovum.ch"/>
|
|
<!-- source: pattern://a1e5d0192e082e689465a0c9 -->
|
|
<property name="out.issuer" value="https://my.nevis.server"/>
|
|
<!-- source: pattern://a1e5d0192e082e689465a0c9 -->
|
|
<property name="out.time_to_live" value="86400"/>
|
|
<!-- source: pattern://a1e5d0192e082e689465a0c9 -->
|
|
<property name="token.algorithm" value="RS256"/>
|
|
<!-- source: pattern://a1e5d0192e082e689465a0c9 -->
|
|
<property name="keystoreref" value="JwtToken"/>
|
|
<!-- source: pattern://a1e5d0192e082e689465a0c9 -->
|
|
<property name="keyobjectref" value="New_nevisAuth_KeyObject"/>
|
|
</AuthState>
|
|
<AuthState name="cossa_realm_Prepare_Done" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false">
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0, pattern://b67f81a971e4c08aa79040a2 -->
|
|
<ResultCond name="default" next="cossa_realm_Auth_Done"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0, pattern://b67f81a971e4c08aa79040a2 -->
|
|
<Response value="AUTH_DONE">
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0, pattern://b67f81a971e4c08aa79040a2 -->
|
|
<Gui name="ContinueResponse"/>
|
|
</Response>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0, pattern://b67f81a971e4c08aa79040a2 -->
|
|
<property name="script" value="file:///var/opt/nevisauth/default/conf/prepare_done.groovy"/>
|
|
</AuthState>
|
|
<AuthState name="cossa_realm_Auth_Done" class="ch.nevis.esauth.auth.states.standard.AuthDone" final="false">
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0, pattern://b67f81a971e4c08aa79040a2 -->
|
|
<Response value="AUTH_DONE">
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0, pattern://b67f81a971e4c08aa79040a2 -->
|
|
<Gui name="ContinueResponse"/>
|
|
</Response>
|
|
</AuthState>
|
|
<AuthState name="cossa_realm_AuthorizationServer" class="ch.nevis.esauth.auth.states.oauth2.AuthorizationServer" final="false" resumeState="true">
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<ResultCond name="authenticate:valid-authorization-request" next="cossa_realm_Prepare_Done"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<ResultCond name="invalid-authorization-request" next="cossa_realm_Prepare_Done"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<ResultCond name="invalid-client" next="cossa_realm_Prepare_Done"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<ResultCond name="invalid-redirect-uri" next="cossa_realm_Prepare_Done"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<ResultCond name="invalid-token-request" next="cossa_realm_Prepare_Done"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<ResultCond name="stepup:valid-authorization-request" next="cossa_realm_Prepare_Done"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="keystoreref" value="Store_New_OAuth_2.0_Authorization_Server_OpenID_Provider"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="keyobjectref" value="Signer_New_OAuth_2.0_Authorization_Server_OpenID_Provider"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="keyID" value="Signer_New_OAuth_2.0_Authorization_Server_OpenID_Provider"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="openid.idTokenLifetime" value="600"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="authCodeLifetime" value="60"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="propagationScope" value="session"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="dataSource" value="local"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="openid.support" value="true"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="openid.issuerId" value="https://cossa.agov-w.azure.adnovum.net"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.openid" value=""/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.openid.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.openid.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.openid.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.openid.clientCredentialsFlowPolicy" value="true"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.offline_access" value=""/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.offline_access.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.offline_access.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.offline_access.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.offline_access.clientCredentialsFlowPolicy" value="true"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.address" value=""/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.address.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.address.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.address.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.address.clientCredentialsFlowPolicy" value="true"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.profile" value=""/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.profile.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.profile.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.profile.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.profile.clientCredentialsFlowPolicy" value="true"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.email" value=""/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.email.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.email.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.email.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.email.clientCredentialsFlowPolicy" value="true"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.phone" value=""/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.phone.authorizationCodeFlowPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.phone.refreshTokenRequestPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<property name="scope.phone.implicitFlowPolicy" value="NO_CONSENT_REQUIRED"/>
|
|
<!-- source: pattern://e02a36447ce2d3c66d8d81c0 -->
|
|
<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 -->
|
|
<ResultCond name="nomatch" next="cossa_realm_Prepare_Done"/>
|
|
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
|
|
<Response value="AUTH_ERROR">
|
|
<!-- source: pattern://b67f81a971e4c08aa79040a2 -->
|
|
<Arg name="ch.nevis.isiweb4.response.status" value="403"/>
|
|
</Response>
|
|
</AuthState>
|
|
</AuthEngine>
|
|
<!-- source: pattern://b0fedec4607e1e69103b8497 -->
|
|
<RESTService name="rest" class="ch.nevis.esauth.rest.service.tokenintrospection.TokenIntrospectionService" path="/oauth/introspect2/">
|
|
<!-- source: pattern://b0fedec4607e1e69103b8497 -->
|
|
<property name="authstates" value="cossa_realm_AuthorizationServer"/>
|
|
</RESTService>
|
|
</esauth-server>
|