| 12 | |
| 13 | Attribute release policy for Cherwell in $IDP_HOME/conf/attribute-filter.xml |
| 14 | {{{ |
| 15 | <AttributeFilterPolicy id="releaseToCherwellServiceManager"> |
| 16 | <PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="https://ualaska.cherwellondemand.com" /> |
| 17 | <AttributeRule attributeID="eduPersonPrincipalName"> |
| 18 | <PermitValueRule xsi:type="basic:ANY" /> |
| 19 | </AttributeRule> |
| 20 | <AttributeRule attributeID="uaUsername"> |
| 21 | <PermitValueRule xsi:type="basic:ANY" /> |
| 22 | </AttributeRule> |
| 23 | <AttributeRule attributeID="bannerID"> |
| 24 | <PermitValueRule xsi:type="basic:ANY" /> |
| 25 | </AttributeRule> |
| 26 | <AttributeRule attributeID="displayname"> |
| 27 | <PermitValueRule xsi:type="basic:ANY" /> |
| 28 | </AttributeRule> |
| 29 | <AttributeRule attributeID="onemail"> |
| 30 | <PermitValueRule xsi:type="basic:ANY" /> |
| 31 | </AttributeRule> |
| 32 | </AttributeFilterPolicy> |
| 33 | }}} |
| 34 | Additional encoder for the UA Username to be encoded as a NameID with the format needed by Cherwell in $IDP_HOME/conf/attribute-resolver.xml |
| 35 | {{{ |
| 36 | <!-- Add an encoder that makes the uaUsername a NameID in format requested by Cherwell - note EDIR dependence here --> |
| 37 | <resolver:AttributeEncoder xsi:type="SAML2StringNameID" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" |
| 38 | nameFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos" /> |
| 39 | </resolver:AttributeDefinition> |
| 40 | }}} |
| 41 | |
| 42 | Initially the NameID was being encrypted in the SAML subject, and Cherwell was unable to decrypt that NameID” |
| 43 | Cherwell returned the message in response to the SAML assertion from the UA IdP: |
| 44 | SAML authentication failed: Required NameID format not supported. SAML status codes: |
| 45 | urn:oasis:names:tc:SAML:2.0:status:Responder,urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy |
| 46 | |
| 47 | To avoid encryption of the NameID, I removed specific existing configuration phrases in $IDP_HOME/conf/relying-party.xml as follows: |
| 48 | {{{ |
| 49 | <ProfileConfiguration xsi:type="saml:SAML2SSOProfile" |
| 50 | includeAttributeStatement="true" |
| 51 | assertionLifetime="PT5M0.000S" |
| 52 | assertionProxyCount="0" |
| 53 | signResponses="conditional" |
| 54 | signAssertions="never" |
| 55 | encryptAssertions="conditional" /> |
| 56 | <!-- removed 2014-09-24: encryptNameIds="conditional" --> |
| 57 | |
| 58 | <ProfileConfiguration xsi:type="saml:SAML2AttributeQueryProfile" |
| 59 | assertionLifetime="PT5M0.000S" |
| 60 | assertionProxyCount="0" |
| 61 | signResponses="conditional" |
| 62 | signAssertions="never" |
| 63 | encryptAssertions="conditional" /> |
| 64 | <!-- removed 2014-09-24: encryptNameIds="conditional" --> |
| 65 | }}} |
| 66 | |
| 67 | Cherwell metadata provided and added to $IDP_HOME/metadata/sp-metadata.xml |
| 68 | {{{ |
| 69 | <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://ualaska.cherwellondemand.com" ID="_694ac3e1-e7b4-4a10-ae8b-d302d8c648b4"> |
| 70 | <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> |
| 71 | <SignedInfo> |
| 72 | <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> |
| 73 | <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> |
| 74 | <Reference URI="#_694ac3e1-e7b4-4a10-ae8b-d302d8c648b4"> |
| 75 | <Transforms> |
| 76 | <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> |
| 77 | <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> |
| 78 | <InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="#default md saml ds xs xsi"/> |
| 79 | </Transform> |
| 80 | </Transforms> |
| 81 | <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> |
| 82 | <DigestValue>LbV9RU+E+vVOvzM0sTpUxbNdDLU=</DigestValue> |
| 83 | </Reference> |
| 84 | </SignedInfo> |
| 85 | <SignatureValue>...</SignatureValue> |
| 86 | <KeyInfo> |
| 87 | <X509Data>...</X509Data> |
| 88 | </KeyInfo> |
| 89 | </Signature> |
| 90 | <md:SPSSODescriptor ID="_436db0a0-3135-4f6d-92ed-7121c263987b" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol" AuthnRequestsSigned="true" WantAssertionsSigned="true"> |
| 91 | <md:KeyDescriptor> |
| 92 | <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> |
| 93 | <X509Data> |
| 94 | <X509Certificate>...</X509Certificate> |
| 95 | </X509Data> |
| 96 | </KeyInfo> |
| 97 | </md:KeyDescriptor> |
| 98 | <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat> |
| 99 | <md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos</md:NameIDFormat> |
| 100 | <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://ualaska.cherwellondemand.com/cherwellservice/Saml/Assertion.aspx" index="1" isDefault="true"/> |
| 101 | </md:SPSSODescriptor> |
| 102 | </md:EntityDescriptor> |
| 103 | }}} |