|
|
|
|
@ -105,7 +105,7 @@
|
|
|
|
|
</SessionCoordinator>
|
|
|
|
|
<!-- source: pattern://ac27dd7daad0ca2b7229bfaf -->
|
|
|
|
|
<LocalOutOfContextDataStore reaperPeriod="60"/>
|
|
|
|
|
<!-- source: pattern://2787b678d9cce5310a335419, pattern://fd3912c7af7a88b6342a4c78, pattern://12c979b6af0f15f1328656a4, pattern://24cbc652d3166c8374eda3cd, pattern://56955e7b6b92c254d7d1aae1, pattern://ac27dd7daad0ca2b7229bfaf, pattern://6df66943ca713eed2a25d935, pattern://6f9c9f982dcc7ef59a34f1f7, pattern://7518c6cc61e47eec6322ae17, pattern://ac27dd7daad0ca2b7229bfaf, pattern://6df66943ca713eed2a25d935, pattern://ac27dd7daad0ca2b7229bfaf, pattern://ac27dd7daad0ca2b7229bfaf -->
|
|
|
|
|
<!-- source: pattern://2787b678d9cce5310a335419, pattern://fd3912c7af7a88b6342a4c78, pattern://12c979b6af0f15f1328656a4, pattern://ac27dd7daad0ca2b7229bfaf, pattern://6df66943ca713eed2a25d935, pattern://6f9c9f982dcc7ef59a34f1f7, pattern://7518c6cc61e47eec6322ae17, pattern://ac27dd7daad0ca2b7229bfaf, pattern://6df66943ca713eed2a25d935, pattern://ac27dd7daad0ca2b7229bfaf, pattern://ac27dd7daad0ca2b7229bfaf -->
|
|
|
|
|
<AuthEngine useLiteralDictionary="true" literalDictionaryLanguages="en,de,fr,it" inputLanguageCookie="LANG" compatLevel="none" addAutheLevelToSecRoles="true" classPath="/opt/nevisidmcl/nevisauth/lib:/opt/nevisauth/plugin" propagateSession="false">
|
|
|
|
|
<!-- source: pattern://3fd09bb6cfbd34874595c263 -->
|
|
|
|
|
<Domain name="IDENT-AuthenticationRealm" default="false" inactiveInterval="60" reauthInterval="0" resetAuthenticationCondition="${inargs:cancel}">
|
|
|
|
|
@ -131,14 +131,11 @@
|
|
|
|
|
</Domain>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<Domain name="SAML_SP_nevisidm_operations_Realm" default="false" inactiveInterval="1800" reauthInterval="0" resetAuthenticationCondition="${inargs:cancel}">
|
|
|
|
|
<Entry method="authenticate" state="SAML_SP_nevisidm_operations_Realm_CheckIsTokenGeneration"/>
|
|
|
|
|
<Entry method="authenticate" state="SAML_SP_nevisidm_operations_Realm_Extract_Issuer" selector="${request:currentResource:^http[s]?\u003A//[^/]+/SAML2/ACS/.*$:true}"/>
|
|
|
|
|
<Entry method="logout" state="SAML_SP_nevisidm_operations_Realm_CheckIsTokenGeneration"/>
|
|
|
|
|
<Entry method="stepup" state="SAML_SP_nevisidm_operations_Realm_CheckIsTokenGeneration"/>
|
|
|
|
|
<Entry method="stepup" state="SAML_SP_nevisidm_operations_Realm_Extract_Issuer" selector="${request:currentResource:^http[s]?\u003A//[^/]+/SAML2/ACS/.*$:true}"/>
|
|
|
|
|
<Entry method="stepup" state="SAML_SP_nevisidm_operations_Realm_Extract_Issuer" selector="${request:currentResource:^http[s]?\u003A//[^/]+/SAML2/stepup/.*$:true}"/>
|
|
|
|
|
<Entry method="authenticate" state="SAML_SP_nevisidm_operations_Realm_Extract_Issuer"/>
|
|
|
|
|
<Entry method="logout" state="SAML_SP_nevisidm_operations_Realm_Extract_Issuer"/>
|
|
|
|
|
<Entry method="stepup" state="SAML_SP_nevisidm_operations_Realm_Extract_Issuer"/>
|
|
|
|
|
<Entry method="stepup" state="SAML_SP_nevisidm_operations_Realm_NEVIS_SecToken" selector="${request:requiredRoles:^token.NEVIS_SecToken$:true}"/>
|
|
|
|
|
<Entry method="unlock" state="SAML_SP_nevisidm_operations_Realm_CheckIsTokenGeneration"/>
|
|
|
|
|
<Entry method="unlock" state="SAML_SP_nevisidm_operations_Realm_Extract_Issuer"/>
|
|
|
|
|
</Domain>
|
|
|
|
|
<AuthState name="IDENT-AuthenticationRealm_IDENT-Process-and-Dispatch" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false" resumeState="true">
|
|
|
|
|
<!-- source: pattern://0f6977caedca600b17221f0a -->
|
|
|
|
|
@ -365,7 +362,7 @@
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_Restore_Level" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false">
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<ResultCond name="ok" next="SAML_SP_nevisidm_operations_Realm_set_userExtId_Groovy_Script_Step"/>
|
|
|
|
|
<ResultCond name="ok" next="SAML_SP_nevisidm_operations_Realm_Prepare_Done"/>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<Response value="AUTH_ERROR">
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
@ -381,222 +378,21 @@
|
|
|
|
|
<Gui name="ContinueResponse"/>
|
|
|
|
|
</Response>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_set_userExtId_Groovy_Script_Step" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false">
|
|
|
|
|
<!-- source: pattern://488949a743edb1f46f73f232 -->
|
|
|
|
|
<ResultCond name="error" next="SAML_SP_nevisidm_operations_Realm_Authentication_Failed"/>
|
|
|
|
|
<!-- source: pattern://488949a743edb1f46f73f232 -->
|
|
|
|
|
<ResultCond name="ok" next="SAML_SP_nevisidm_operations_Realm_fetch_User_Authentication_Step"/>
|
|
|
|
|
<!-- source: pattern://488949a743edb1f46f73f232 -->
|
|
|
|
|
<Response value="AUTH_ERROR">
|
|
|
|
|
<!-- source: pattern://488949a743edb1f46f73f232 -->
|
|
|
|
|
<Arg name="ch.nevis.isiweb4.response.status" value="403"/>
|
|
|
|
|
</Response>
|
|
|
|
|
<!-- source: pattern://488949a743edb1f46f73f232 -->
|
|
|
|
|
<property name="script" value="file:///var/opt/nevisauth/default/conf/set_userextid_groovy_script_step.groovy"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_Authentication_Failed" class="ch.nevis.esauth.auth.states.standard.AuthError" final="false">
|
|
|
|
|
<!-- source: pattern://700ec185425d8645fea2caf5 -->
|
|
|
|
|
<Response value="AUTH_ERROR">
|
|
|
|
|
<!-- source: pattern://700ec185425d8645fea2caf5 -->
|
|
|
|
|
<Gui name="Error">
|
|
|
|
|
<!-- source: pattern://700ec185425d8645fea2caf5 -->
|
|
|
|
|
<GuiElem name="info" type="error" label="error_99"/>
|
|
|
|
|
<!-- source: pattern://700ec185425d8645fea2caf5 -->
|
|
|
|
|
<GuiElem name="submit" type="button" label="continue.button.label"/>
|
|
|
|
|
</Gui>
|
|
|
|
|
<!-- source: pattern://700ec185425d8645fea2caf5 -->
|
|
|
|
|
<Arg name="ch.nevis.isiweb4.response.status" value="403"/>
|
|
|
|
|
</Response>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_fetch_User_Authentication_Step" class="ch.nevis.idm.authstate.IdmUserVerifyState" final="false" resumeState="true">
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<ResultCond name="clientNotFound" next="SAML_SP_nevisidm_operations_Realm_Authentication_Failed"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<ResultCond name="failed" next="SAML_SP_nevisidm_operations_Realm_Authentication_Failed"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<ResultCond name="prospect" next="SAML_SP_nevisidm_operations_Realm_fetch_User_Authentication_Step_selectProfile"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<Response value="AUTH_ERROR">
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<Gui name="AuthFailDialog"/>
|
|
|
|
|
</Response>
|
|
|
|
|
<propertyRef name="nevisIDM_Connector"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="user.loginid" value="unknown"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="userExtId" value="${sess:operationsExtId}"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="client.name" value="OPERATIONS"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="detaillevel.user" value="HIGH"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="detaillevel.profile" value="HIGH"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="detaillevel.role" value="HIGH"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="detaillevel.authorization" value="HIGH"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="detaillevel.dataroom" value="HIGH"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_fetch_User_Authentication_Step_selectProfile" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false" resumeState="true">
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<ResultCond name="error" next="SAML_SP_nevisidm_operations_Realm_Authentication_Failed"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<ResultCond name="ok" next="SAML_SP_nevisidm_operations_Realm_fetch_User_Authentication_Step_IdmGetPropertiesState"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<Response value="AUTH_CONTINUE">
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<Gui name="op_idmlogin_select_profile">
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<GuiElem name="lasterror" type="error" label="${notes:lasterrorinfo}" value="${notes:lasterror}" optional="true"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<GuiElem name="submit" type="button" label="submit.button.label" value="go"/>
|
|
|
|
|
</Gui>
|
|
|
|
|
</Response>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="script" value="file:///var/opt/nevisauth/default/conf/selectIdmProfile.groovy"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="nevisIDM_Connector" class="ch.nevis.esauth.auth.states.standard.AuthGeneric" final="false">
|
|
|
|
|
<!-- source: pattern://12c979b6af0f15f1328656a4 -->
|
|
|
|
|
<property name="login.service.connection.0" value="https://idm:8989/nevisidm/services/v1/LoginService"/>
|
|
|
|
|
<!-- source: pattern://12c979b6af0f15f1328656a4 -->
|
|
|
|
|
<property name="admin.service.connection.0" value="https://idm:8989/nevisidm/services/v1/AdminService"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_fetch_User_Authentication_Step_IdmGetPropertiesState" class="ch.nevis.idm.authstate.IdmGetPropertiesState" final="false" resumeState="true">
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<ResultCond name="clientNotFound" next="SAML_SP_nevisidm_operations_Realm_Authentication_Failed"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<ResultCond name="default" next="SAML_SP_nevisidm_operations_Realm_Authentication_Failed"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<ResultCond name="ok" next="SAML_SP_nevisidm_operations_Realm_UpdateUserIfNeeded"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<ResultCond name="showGui" next="SAML_SP_nevisidm_operations_Realm_Authentication_Failed"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<Response value="AUTH_ERROR"/>
|
|
|
|
|
<propertyRef name="nevisIDM_Connector"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="user.attributes" value="loginId,extId,firstName,name,email,language"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="chooseProfileFromSession" value="operationsProfileExtId"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="userExtId" value="${sess:operationsExtId}"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="client.name" value="OPERATIONS"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="detaillevel.user" value="HIGH"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="detaillevel.profile" value="HIGH"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="detaillevel.role" value="HIGH"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="detaillevel.authorization" value="HIGH"/>
|
|
|
|
|
<!-- source: pattern://56955e7b6b92c254d7d1aae1 -->
|
|
|
|
|
<property name="detaillevel.dataroom" value="HIGH"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_UpdateUserIfNeeded" class="ch.nevis.esauth.auth.states.standard.ConditionalDispatcherState" final="false" resumeState="false">
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<ResultCond name="default" next="SAML_SP_nevisidm_operations_Realm_UpdateUserIfNeeded_Update"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<ResultCond name="emailaddressDidntChange,givennameDidntChange,surnameDidntChange,languageDidntChange" next="SAML_SP_nevisidm_operations_Realm_Prepare_Done"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<Response value="AUTH_ERROR"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="condition:emailaddressDidntChange" value="#{ !sess.containsKey('idp.email') or sess.get('idp.email').equals(sess.get('ch.nevis.idm.User.email')) }"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="condition:givennameDidntChange" value="#{ !sess.containsKey('idp.firstName') or sess.get('idp.firstName').equals(sess.get('ch.nevis.idm.User.firstName')) }"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="condition:surnameDidntChange" value="#{ !sess.containsKey('idp.lastName') or sess.get('idp.lastName').equals(sess.get('ch.nevis.idm.User.lastName')) }"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="condition:languageDidntChange" value="#{ !sess.containsKey('idp.language') or sess.get('idp.language').equals(sess.get('ch.nevis.idm.User.language')) }"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_UpdateUserIfNeeded_Update" class="ch.nevis.idm.authstate.IdmSetPropertiesState" final="false" resumeState="false">
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<ResultCond name="emailExists" next="SAML_SP_nevisidm_operations_Realm_UpdateUserIfNeeded_AuditError"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<ResultCond name="inputInvalid" next="SAML_SP_nevisidm_operations_Realm_UpdateUserIfNeeded_AuditError"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<ResultCond name="inputMissing" next="SAML_SP_nevisidm_operations_Realm_UpdateUserIfNeeded_AuditError"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<ResultCond name="loginIdExists" next="SAML_SP_nevisidm_operations_Realm_UpdateUserIfNeeded_AuditError"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<ResultCond name="ok" next="SAML_SP_nevisidm_operations_Realm_UpdateUserIfNeeded_AuditUpdate"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<ResultCond name="userIdExists" next="SAML_SP_nevisidm_operations_Realm_UpdateUserIfNeeded_AuditError"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<Response value="AUTH_ERROR">
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<Arg name="ch.nevis.isiweb4.response.status" value="403"/>
|
|
|
|
|
</Response>
|
|
|
|
|
<propertyRef name="nevisIDM_Connector"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="user.loginid" value="${sess:ch.adnovum.nevisidm.user.loginId}"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="client.name" value="${sess:ch.adnovum.nevisidm.clientName}"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="user.attributes.optional" value="email,firstName,name,language"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="user.attributes.mandatory" value="remarks"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="user.attribute.email" value="${notes|saml.attributes.http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress}"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="user.attribute.firstName" value="${notes|saml.attributes.http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname}"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="user.attribute.name" value="${notes|saml.attributes.http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname}"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="user.attribute.language" value="${notes|saml.attributes.http://schemas.agov.ch/ws/2023/05/identity/claims/languageOfCorrespondance}"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="user.attribute.remarks" value="Updated based on assertion '${sess:ch.nevis.auth.saml.assertion.id}' (Request-ID: ${inctx:connection.HttpHeader.X-Request-ID})"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="user.attributes.overwrite" value="email,firstName,name,language,remarks"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="allowInvalidUserEmails" value="true"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_Prepare_Done" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false">
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17, pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<ResultCond name="default" next="SAML_SP_nevisidm_operations_Realm_Redirect_RelayState"/>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17, pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<!-- source: pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<ResultCond name="default" next="SAML_SP_nevisidm_operations_Realm_Auth_Done"/>
|
|
|
|
|
<!-- source: pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<Response value="AUTH_DONE">
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17, pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<!-- source: pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<Gui name="ContinueResponse"/>
|
|
|
|
|
</Response>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17, pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<!-- source: pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<property name="script" value="file:///var/opt/nevisauth/default/conf/prepare_done.groovy"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_UpdateUserIfNeeded_AuditError" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false" resumeState="false">
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<Response value="AUTH_ERROR">
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<Arg name="ch.nevis.isiweb4.response.status" value="403"/>
|
|
|
|
|
</Response>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="scriptTraceGroup" value="AGOVOP-ACCT"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="script" value=" def user = session['ch.adnovum.nevisidm.user.extId'] ?: 'unknown'; def sourceIp = request.getLoginContext()['connection.HttpHeader.X-Real-IP'] ?: 'unknown'; def userAgent = request.getLoginContext()['connection.HttpHeader.user-agent'] ?: request.getLoginContext()['connection.HttpHeader.User-Agent'] ?: 'unknown'; LOG.error("Event='USERUPDATE', User=${user}, SourceIp=${sourceIp}, UserAgent='${userAgent}', error='failed to update user in IDM', lasterrorinfo='${lasterrorinfo}'"); response.setStatus(ch.nevis.esauth.auth.engine.AuthResponse.AUTH_ERROR); "/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_UpdateUserIfNeeded_AuditUpdate" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false" resumeState="false">
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<ResultCond name="default" next="SAML_SP_nevisidm_operations_Realm_Prepare_Done"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<Response value="AUTH_CONTINUE"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="scriptTraceGroup" value="AGOVOP-ACCT"/>
|
|
|
|
|
<!-- source: pattern://24cbc652d3166c8374eda3cd -->
|
|
|
|
|
<property name="script" value=" def user = session['ch.adnovum.nevisidm.user.extId'] ?: 'unknown'; def sourceIp = request.getLoginContext()['connection.HttpHeader.X-Real-IP'] ?: 'unknown'; def userAgent = request.getLoginContext()['connection.HttpHeader.user-agent'] ?: request.getLoginContext()['connection.HttpHeader.User-Agent'] ?: 'unknown'; LOG.info("Event='USERUPDATE', User=${user}, SourceIp=${sourceIp}, UserAgent='${userAgent}'"); "/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_Redirect_RelayState" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false">
|
|
|
|
|
<ResultCond name="default" next="SAML_SP_nevisidm_operations_Realm_Auth_Done"/>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<Response value="AUTH_DONE">
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<Gui name="ContinueResponse"/>
|
|
|
|
|
</Response>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<property name="script" value="file:///var/opt/nevisauth/default/conf/redirect_relay_state.groovy"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_Auth_Done" class="ch.nevis.esauth.auth.states.standard.AuthDone" final="false">
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17, pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<!-- source: pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<Response value="AUTH_DONE">
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17, pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<!-- source: pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<Gui name="ContinueResponse"/>
|
|
|
|
|
</Response>
|
|
|
|
|
</AuthState>
|
|
|
|
|
@ -802,6 +598,12 @@
|
|
|
|
|
<!-- source: pattern://2787b678d9cce5310a335419 -->
|
|
|
|
|
<property name="user.cred.saml_federation3.subjectNameId" value="true"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="nevisIDM_Connector" class="ch.nevis.esauth.auth.states.standard.AuthGeneric" final="false">
|
|
|
|
|
<!-- source: pattern://12c979b6af0f15f1328656a4 -->
|
|
|
|
|
<property name="login.service.connection.0" value="https://idm:8989/nevisidm/services/v1/LoginService"/>
|
|
|
|
|
<!-- source: pattern://12c979b6af0f15f1328656a4 -->
|
|
|
|
|
<property name="admin.service.connection.0" value="https://idm:8989/nevisidm/services/v1/AdminService"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="OP-ONBRDNG-AuthenticationRealm_OP-ONBRDNG-PostProcessing_SamlFedCredential" class="ch.nevis.idm.authstate.IdmCreateCredentialState" final="false" resumeState="false">
|
|
|
|
|
<!-- source: pattern://fd3912c7af7a88b6342a4c78 -->
|
|
|
|
|
<ResultCond name="credentialExists" next="OP-ONBRDNG-AuthenticationRealm_OP-ONBRDNG-PostProcessing_SamlFedCredential_Failed"/>
|
|
|
|
|
@ -1282,74 +1084,6 @@
|
|
|
|
|
<!-- source: pattern://271d024334021208b71ac80a -->
|
|
|
|
|
<property name="generateNow" value="true"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_CheckIsTokenGeneration" class="ch.nevis.esauth.auth.states.standard.ConditionalDispatcherState" final="false">
|
|
|
|
|
<!-- source: pattern://65330385b309bfe32943c8ad -->
|
|
|
|
|
<ResultCond name="generateToken" next="SAML_SP_nevisidm_operations_Realm_DoTokenGeneration"/>
|
|
|
|
|
<!-- source: pattern://65330385b309bfe32943c8ad -->
|
|
|
|
|
<ResultCond name="nomatch" next="SAML_SP_nevisidm_operations_Realm_PreProcess_Done"/>
|
|
|
|
|
<!-- source: pattern://65330385b309bfe32943c8ad -->
|
|
|
|
|
<Response value="AUTH_ERROR">
|
|
|
|
|
<!-- source: pattern://65330385b309bfe32943c8ad -->
|
|
|
|
|
<Arg name="ch.nevis.isiweb4.response.status" value="403"/>
|
|
|
|
|
</Response>
|
|
|
|
|
<!-- source: pattern://65330385b309bfe32943c8ad -->
|
|
|
|
|
<property name="condition:generateToken" value="${request:requiredRoles:generateToken}"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_DoTokenGeneration" class="ch.nevis.esauth.auth.states.jwt.JWTToken" final="false" resumeState="true">
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<ResultCond name="ok" next="SAML_SP_nevisidm_operations_Realm_DoTokenGeneration_Prepare"/>
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<Response value="AUTH_ERROR"/>
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<property name="out.audience" value="https://op.agov-w.azure.adnovum.net/SAML2/ACS/"/>
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<property name="out.issuer" value="https://op.agov-w.azure.adnovum.net/SAML2/ACS/"/>
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<property name="token.header.includeType" value="true"/>
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<property name="token.algorithm" value="RS512"/>
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<property name="keystoreref" value="DefaultKeyStore"/>
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<property name="keyobjectref" value="DefaultSigner"/>
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<property name="out.subject" value="${request:userId}"/>
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<property name="out.include.jwtId" value="true"/>
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<property name="out.time_to_live" value="14400"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_PreProcess_Done" class="ch.nevis.esauth.auth.states.standard.ConditionalDispatcherState" final="false">
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<ResultCond name="authenticate" next="SAML_SP_nevisidm_operations_Realm_Extract_Issuer"/>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<ResultCond name="logout" next="SAML_SP_nevisidm_operations_Realm_Extract_Issuer"/>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<ResultCond name="stepup" next="SAML_SP_nevisidm_operations_Realm_Extract_Issuer"/>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<ResultCond name="unlock" next="SAML_SP_nevisidm_operations_Realm_Extract_Issuer"/>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<Response value="AUTH_ERROR">
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<Arg name="ch.nevis.isiweb4.response.status" value="403"/>
|
|
|
|
|
</Response>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<property name="condition:authenticate" value="${request:method:^authenticate$:true}"/>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<property name="condition:stepup" value="${request:method:^stepup$:true}"/>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<property name="condition:unlock" value="${request:method:^unlock$:true}"/>
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<property name="condition:logout" value="${request:method:^logout$:true}"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_DoTokenGeneration_Prepare" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false" resumeState="true">
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<ResultCond name="display" next="SAML_SP_nevisidm_operations_Realm_DoTokenGeneration_DisplayMe"/>
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<ResultCond name="newToken" next="SAML_SP_nevisidm_operations_Realm_DoTokenGeneration"/>
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<property name="script" value="file:///var/opt/nevisauth/default/conf/EncodeAndDisplayToken.groovy"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_Extract_Issuer" class="ch.nevis.esauth.auth.states.scripting.ScriptState" final="false">
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<ResultCond name="ok" next="SAML_SP_nevisidm_operations_Realm_IDP_Selection"/>
|
|
|
|
|
@ -1361,16 +1095,6 @@
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<property name="script" value="file:///var/opt/nevisauth/default/conf/saml_sp_nevisidm_operations_realm_extract_issuer.groovy"/>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_DoTokenGeneration_DisplayMe" class="ch.nevis.esauth.auth.states.standard.AuthGeneric" final="true" resumeState="false">
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<Response value="AUTH_CONTINUE">
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<Gui name="TestTokenDisplayDialog" label="test.token.title">
|
|
|
|
|
<!-- source: pattern://541e5c4aaf4cf98ed6b574dc -->
|
|
|
|
|
<GuiElem name="info" type="text" label="test.token.label" value="#{ notes.getProperty('agov.test.token', 'missing') }" optional="true"/>
|
|
|
|
|
</Gui>
|
|
|
|
|
</Response>
|
|
|
|
|
</AuthState>
|
|
|
|
|
<AuthState name="SAML_SP_nevisidm_operations_Realm_IDP_Selection" class="ch.nevis.esauth.auth.states.standard.ConditionalDispatcherState" final="false">
|
|
|
|
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
|
|
|
|
<ResultCond name="authenticate:https\u003A//trustbroker.agov-d.azure.adnovum.net_continuation" next="SAML_SP_nevisidm_operations_Realm_SAML_IDP_op_Connector_Connector"/>
|
|
|
|
|
|