68 lines
4.4 KiB
YAML
68 lines
4.4 KiB
YAML
schemaVersion: "1.0"
|
|
pattern:
|
|
id: "27cefc3861bce987f6766342"
|
|
className: "ch.nevis.admin.v4.plugin.nevisauth.patterns.SamlSpConnector"
|
|
name: "IDP_SP_Connector"
|
|
label: "IDP"
|
|
notes: "- Subject NameID Format -> urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n\
|
|
- dateOfBirth: to have a date suitable for SAML and OIDC, we remove the TimeZone\
|
|
\ charachter ('1993-03-03Z' --> '1993-03-03')\n- verificationMethod: BUNDBITBK-2892\
|
|
\ SelfPaid is only for internal use, we remove this from the public assertion\n\
|
|
- address.verificationMethod: BUNDBITBK-2921 avoid interface change for hotfix"
|
|
link:
|
|
sourceProjectKey: "DEFAULT-IAM-JAKOB"
|
|
sourcePatternId: "27cefc3861bce987f6766342"
|
|
author: "florip"
|
|
lastCopied: "2023-03-30T08:57:06Z"
|
|
properties:
|
|
issuer: "var://idp_sp_connector-sp-issuer"
|
|
url: "var://idp_sp_connector-sp-url---assertion-consumer-services"
|
|
signerTrust:
|
|
- "pattern://8052fd68f4a663629d651f7b"
|
|
subjectFormat: "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
|
|
subjectConfirmation: "bearer"
|
|
attributes:
|
|
- http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress: "${sess:ch.nevis.idm.User.email}"
|
|
- http://schemas.agov.ch/ws/2023/05/identity/claims/languageOfCorrespondance: "${sess:ch.nevis.idm.User.language}"
|
|
- http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname: "${sess:ch.nevis.idm.User.firstName}"
|
|
- http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname: "${sess:ch.nevis.idm.User.lastName}"
|
|
- http://schemas.agov.ch/ws/2023/05/identity/claims/dateOfBirth: "${sess:ch.nevis.idm.User.birthDate:^(\\\
|
|
d\\d\\d\\d-\\d\\d-\\d\\d).*$}"
|
|
- http://schemas.agov.ch/ws/2023/05/identity/claims/sex: "${sess:ch.nevis.idm.User.gender}"
|
|
- http://schemas.agov.ch/ws/2023/05/identity/claims/socialSecurityNumber: "#{\
|
|
\ (sess['agov.appSvnrAllowed'] == 'true') ? sess['ch.nevis.idm.User.prop.svnr']\
|
|
\ : ''}"
|
|
- http://schemas.agov.ch/ws/2023/05/identity/claims/placeOfBirth: "#{ (sess['agov.appSvnrAllowed']\
|
|
\ == 'true') ? sess['ch.nevis.idm.User.prop.placeOfBirth'] : ''}"
|
|
- http://schemas.agov.ch/ws/2023/05/identity/claims/eIdNumber: "${sess:ch.nevis.idm.User.prop.eIdNumber}"
|
|
- http://schemas.agov.ch/ws/2023/05/identity/claims/qa/dateOfVerification: "${sess:ValidFrom}"
|
|
- http://schemas.agov.ch/ws/2023/05/identity/claims/qa/validTillDate: "${sess:ValidTo}"
|
|
- http://schemas.agov.ch/ws/2023/05/identity/claims/qa/verificationMethod: "#{\
|
|
\ ''.concat(sess.get('idVerification')).replace('SelfPaid', '') }"
|
|
- http://schemas.agov.ch/ws/2023/05/identity/claims/nationality: "#{ sess.containsKey('ch.nevis.idm.User.prop.nationality')\
|
|
\ ? sess['ch.nevis.idm.User.prop.nationality'].toUpperCase(): '' }"
|
|
- http://schemas.agov.ch/ws/2023/05/identity/claims/authenticatedWith: "${sess:authenticatedWith}"
|
|
- http://schemas.agov.ch/ws/2023/08/identity/claims/emailVerified: "true"
|
|
- http://schemas.agov.ch/ws/2023/08/identity/claims/address/street: "#{ (sess['agov.appAddressRequired']\
|
|
\ == 'true') ? sess['ch.nevis.idm.User.street'] : '' }"
|
|
- http://schemas.agov.ch/ws/2023/08/identity/claims/address/houseNumber: "#{ (sess['agov.appAddressRequired']\
|
|
\ == 'true') ? sess['ch.nevis.idm.User.houseNumber'] : '' }"
|
|
- http://schemas.agov.ch/ws/2023/08/identity/claims/address/zipCode: "#{ (sess['agov.appAddressRequired']\
|
|
\ == 'true') ? sess['ch.nevis.idm.User.postalCode'] : '' }"
|
|
- http://schemas.agov.ch/ws/2023/08/identity/claims/address/town: "#{ (sess['agov.appAddressRequired']\
|
|
\ == 'true') ? sess['ch.nevis.idm.User.city'] : '' }"
|
|
- http://schemas.agov.ch/ws/2024/02/identity/claims/address/country: "#{ (sess['agov.appAddressRequired']\
|
|
\ == 'true') ? sess['ch.nevis.idm.User.country'].toUpperCase() : '' }"
|
|
- http://schemas.agov.ch/ws/2024/02/identity/claims/address/qa/verificationMethod: "#{\
|
|
\ (sess['agov.appAddressRequired'] == 'true') ? ''.concat(sess.get('agov.adressVerification')).replace('Location',\
|
|
\ 'Domicile') : '' }"
|
|
- http://schemas.agov.ch/ws/2024/02/identity/claims/address/countryName: "#{ (sess['agov.appAddressRequired']\
|
|
\ == 'true') ? sess['agov.countryName'] : ''}"
|
|
context: "PasswordProtectedTransport"
|
|
assertionLifetime: "30s"
|
|
sign:
|
|
- "Response"
|
|
- "Assertion"
|
|
keyInfo: "Certificate"
|
|
properties: "var://idp-sp-connector-properties"
|