Abraham Elmahrek 12 жил өмнө
parent
commit
2dc8335

+ 46 - 4
desktop/libs/libsaml/attribute-maps/SAML2.py

@@ -7,6 +7,7 @@ NETSCAPE_LDAP = "urn:oid:2.16.840.1.113730.3.1."
 UCL_DIR_PILOT = 'urn:oid:0.9.2342.19200300.100.1.'
 PKCS_9 = "urn:oid:1.2.840.113549.1.9.1."
 UMICH = "urn:oid:1.3.6.1.4.1.250.1.57."
+SCHAC = "urn:oid:1.3.6.1.4.1.25178.2."
 
 MAP = {
     "identifier": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
@@ -94,7 +95,27 @@ MAP = {
         NOREDUPERSON_OID+'3': 'norEduPersonBirthDate',
         UMICH+'57': 'labeledURI',
         UCL_DIR_PILOT+'1': 'uid',
-    },
+        SCHAC+'1': 'schacMotherTongue',
+        SCHAC+'2': 'schacGender',
+        SCHAC+'3': 'schacDateOfBirth',
+        SCHAC+'4': 'schacPlaceOfBirth',
+        SCHAC+'5': 'schacCountryOfCitizenship',
+        SCHAC+'6': 'schacSn1',
+        SCHAC+'7': 'schacSn2',
+        SCHAC+'8': 'schacPersonalTitle',
+        SCHAC+'9': 'schacHomeOrganization',
+        SCHAC+'10': 'schacHomeOrganizationType',
+        SCHAC+'11': 'schacCountryOfResidence',
+        SCHAC+'12': 'schacUserPresenceID',
+        SCHAC+'13': 'schacPersonalPosition',
+        SCHAC+'14': 'schacPersonalUniqueCode',
+        SCHAC+'15': 'schacPersonalUniqueID',
+        SCHAC+'17': 'schacExpiryDate',
+        SCHAC+'18': 'schacUserPrivateAttribute',
+        SCHAC+'19': 'schacUserStatus',
+        SCHAC+'20': 'schacProjectMembership',
+        SCHAC+'21': 'schacProjectSpecificRole',
+        },
     "to": {
         'roleOccupant': X500ATTR_OID+'33',
         'gn': X500ATTR_OID+'42',
@@ -147,6 +168,7 @@ MAP = {
         'eduPersonEntitlement': EDUPERSON_OID+'7',
         'generationQualifier': X500ATTR_OID+'44',
         'eduPersonAffiliation': EDUPERSON_OID+'1',
+        'edupersonaffiliation': EDUPERSON_OID+'1',
         'eduPersonPrincipalName': EDUPERSON_OID+'6',
         'edupersonprincipalname': EDUPERSON_OID+'6',
         'localityName': X500ATTR_OID+'7',
@@ -194,6 +216,26 @@ MAP = {
         'sn': X500ATTR_OID+'4',
         'domainComponent': UCL_DIR_PILOT+'25',
         'labeledURI': UMICH+'57',
-        'uid': UCL_DIR_PILOT+'1'
-    }
-}
+        'uid': UCL_DIR_PILOT+'1',
+        'schacMotherTongue':SCHAC+'1',
+        'schacGender': SCHAC+'2',
+        'schacDateOfBirth':SCHAC+'3',
+        'schacPlaceOfBirth': SCHAC+'4',
+        'schacCountryOfCitizenship':SCHAC+'5',
+        'schacSn1': SCHAC+'6',
+        'schacSn2': SCHAC+'7',
+        'schacPersonalTitle':SCHAC+'8',
+        'schacHomeOrganization': SCHAC+'9',
+        'schacHomeOrganizationType': SCHAC+'10',
+        'schacCountryOfResidence': SCHAC+'11',
+        'schacUserPresenceID': SCHAC+'12',
+        'schacPersonalPosition': SCHAC+'13',
+        'schacPersonalUniqueCode': SCHAC+'14',
+        'schacPersonalUniqueID': SCHAC+'15',
+        'schacExpiryDate': SCHAC+'17',
+        'schacUserPrivateAttribute': SCHAC+'18',
+        'schacUserStatus': SCHAC+'19',
+        'schacProjectMembership': SCHAC+'20',
+        'schacProjectSpecificRole': SCHAC+'21',
+        }
+}  

+ 8 - 8
desktop/libs/libsaml/src/libsaml/saml_settings.py

@@ -43,7 +43,7 @@ SAML_CONFIG = {
   # this block states what services we provide
   'service': {
     'sp' : {
-      'name': 'example',
+      'name': 'hue',
       'endpoints': {
         # url and binding to the assetion consumer service view
         # do not change the binding or service name
@@ -54,16 +54,19 @@ SAML_CONFIG = {
         # do not change the binding or service name
         'single_logout_service': [
           ("%s/saml2/ls/" % BASE_URL, saml2.BINDING_HTTP_REDIRECT),
-        ]
+        ],
       },
 
-      'allow_unsolicited': libsaml.conf.ALLOW_UNSOLICITED.get(),
+      'allow_unsolicited': str(libsaml.conf.ALLOW_UNSOLICITED.get()).lower(),
 
       # attributes that this project need to identify a user
       'required_attributes': libsaml.conf.REQUIRED_ATTRIBUTES.get(),
 
       # attributes that may be useful to have but not required
-      'optional_attributes': libsaml.conf.OPTIONAL_ATTRIBUTES.get()
+      'optional_attributes': libsaml.conf.OPTIONAL_ATTRIBUTES.get(),
+
+      'logout_requests_signed': str(libsaml.conf.LOGOUT_REQUESTS_SIGNED.get()).lower(),
+      'authn_requests_signed': str(libsaml.conf.AUTHN_REQUESTS_SIGNED.get()).lower()
     },
   },
 
@@ -77,10 +80,7 @@ SAML_CONFIG = {
 
   # certificate
   'key_file': libsaml.conf.KEY_FILE.get(),
-  'cert_file': libsaml.conf.CERT_FILE.get(),
-
-  'logout_requests_signed': str(libsaml.conf.LOGOUT_REQUESTS_SIGNED.get()).lower(),
-  'authn_requests_signed': str(libsaml.conf.AUTHN_REQUESTS_SIGNED.get()).lower()
+  'cert_file': libsaml.conf.CERT_FILE.get()
 }
 
 SAML_ATTRIBUTE_MAPPING = libsaml.conf.USER_ATTRIBUTE_MAPPING.get()