class SAMLSecurityField(BaseDictWithChildField): child_fields = { 'nameIdEncrypted': fields.BooleanField(required=False), 'authnRequestsSigned': fields.BooleanField(required=False), 'logoutRequestSigned': fields.BooleanField(required=False), 'logoutResponseSigned': fields.BooleanField(required=False), 'signMetadata': fields.BooleanField(required=False), 'wantMessagesSigned': fields.BooleanField(required=False), 'wantAssertionsSigned': fields.BooleanField(required=False), 'wantAssertionsEncrypted': fields.BooleanField(required=False), 'wantNameId': fields.BooleanField(required=False), 'wantNameIdEncrypted': fields.BooleanField(required=False), 'wantAttributeStatement': fields.BooleanField(required=False), 'requestedAuthnContext': fields.StringListBooleanField(required=False), 'requestedAuthnContextComparison': fields.CharField(required=False), 'metadataValidUntil': fields.CharField(allow_null=True, required=False), 'metadataCacheDuration': fields.CharField(allow_null=True, required=False), 'signatureAlgorithm': fields.CharField(allow_null=True, required=False), 'digestAlgorithm': fields.CharField(allow_null=True, required=False), } allow_unknown_keys = True
class SAMLTeamAttrTeamOrgMapField(HybridDictField): team = fields.CharField(required=True, allow_null=False) team_alias = fields.CharField(required=False, allow_null=True) organization = fields.CharField(required=True, allow_null=False) child = _Forbidden()
class SAMLOrgAttrField(HybridDictField): remove = fields.BooleanField(required=False) saml_attr = fields.CharField(required=False, allow_null=True) remove_admins = fields.BooleanField(required=False) saml_admin_attr = fields.CharField(required=False, allow_null=True) child = _Forbidden()
class SAMLOrgAttrField(BaseDictWithChildField): child_fields = { 'remove': fields.BooleanField(required=False), 'saml_attr': fields.CharField(required=False, allow_null=True), 'remove_admins': fields.BooleanField(required=False), 'saml_admin_attr': fields.CharField(required=False, allow_null=True), }
class SAMLOrgInfoValueField(BaseDictWithChildField): default_error_messages = { 'missing_keys': _('Missing required key(s) for org info record: {missing_keys}.'), } child_fields = { 'name': fields.CharField(), 'displayname': fields.CharField(), 'url': fields.URLField(), } allow_unknown_keys = True
class SAMLTeamAttrField(HybridDictField): team_org_map = fields.ListField(required=False, child=SAMLTeamAttrTeamOrgMapField(), allow_null=True) remove = fields.BooleanField(required=False) saml_attr = fields.CharField(required=False, allow_null=True) child = _Forbidden()
class SocialSingleTeamMapField(HybridDictField): organization = fields.CharField() users = SocialMapField(allow_null=True, required=False) remove = fields.BooleanField(required=False) child = _Forbidden()
class SAMLUserFlagsAttrField(HybridDictField): is_superuser_attr = fields.CharField(required=False, allow_null=True) is_superuser_value = fields.StringListField(required=False, allow_null=True) is_superuser_role = fields.StringListField(required=False, allow_null=True) remove_superusers = fields.BooleanField(required=False, allow_null=True) is_system_auditor_attr = fields.CharField(required=False, allow_null=True) is_system_auditor_value = fields.StringListField(required=False, allow_null=True) is_system_auditor_role = fields.StringListField(required=False, allow_null=True) remove_system_auditors = fields.BooleanField(required=False, allow_null=True) child = _Forbidden()
class SAMLTeamAttrField(BaseDictWithChildField): child_fields = { 'team_org_map': fields.ListField(required=False, child=SAMLTeamAttrTeamOrgMapField(), allow_null=True), 'remove': fields.BooleanField(required=False), 'saml_attr': fields.CharField(required=False, allow_null=True), }
class SAMLSecurityField(HybridDictField): nameIdEncrypted = fields.BooleanField(required=False) authnRequestsSigned = fields.BooleanField(required=False) logoutRequestSigned = fields.BooleanField(required=False) logoutResponseSigned = fields.BooleanField(required=False) signMetadata = fields.BooleanField(required=False) wantMessagesSigned = fields.BooleanField(required=False) wantAssertionsSigned = fields.BooleanField(required=False) wantAssertionsEncrypted = fields.BooleanField(required=False) wantNameId = fields.BooleanField(required=False) wantNameIdEncrypted = fields.BooleanField(required=False) wantAttributeStatement = fields.BooleanField(required=False) requestedAuthnContext = fields.StringListBooleanField(required=False) requestedAuthnContextComparison = fields.CharField(required=False) metadataValidUntil = fields.CharField(allow_null=True, required=False) metadataCacheDuration = fields.CharField(allow_null=True, required=False) signatureAlgorithm = fields.CharField(allow_null=True, required=False) digestAlgorithm = fields.CharField(allow_null=True, required=False)
class SAMLContactField(BaseDictWithChildField): default_error_messages = { 'missing_keys': _('Missing required key(s) for contact: {missing_keys}.'), } child_fields = { 'givenName': fields.CharField(), 'emailAddress': fields.EmailField(), } allow_unknown_keys = True
class SocialSingleTeamMapField(BaseDictWithChildField): default_error_messages = { 'missing_keys': _('Missing required key for team map: {missing_keys}.'), 'invalid_keys': _('Invalid key(s) for team map: {invalid_keys}.'), } child_fields = { 'organization': fields.CharField(), 'users': SocialMapField(allow_null=True, required=False), 'remove': fields.BooleanField(required=False), }
class SAMLIdPField(HybridDictField): entity_id = fields.CharField() url = fields.URLField() x509cert = fields.CharField(validators=[validate_certificate]) attr_user_permanent_id = fields.CharField(required=False) attr_first_name = fields.CharField(required=False) attr_last_name = fields.CharField(required=False) attr_username = fields.CharField(required=False) attr_email = fields.CharField(required=False)
class LDAPUserAttrMapField(fields.DictField): default_error_messages = {'invalid_attrs': _('Invalid user attribute(s): {invalid_attrs}.')} valid_user_attrs = {'first_name', 'last_name', 'email'} child = fields.CharField() def to_internal_value(self, data): data = super(LDAPUserAttrMapField, self).to_internal_value(data) invalid_attrs = set(data.keys()) - self.valid_user_attrs if invalid_attrs: invalid_attrs = sorted(list(invalid_attrs)) attrs_display = json.dumps(invalid_attrs).lstrip('[').rstrip(']') self.fail('invalid_attrs', invalid_attrs=attrs_display) return data
class SAMLIdPField(BaseDictWithChildField): default_error_messages = { 'missing_keys': _('Missing required key(s) for IdP: {missing_keys}.'), } child_fields = { 'entity_id': fields.CharField(), 'url': fields.URLField(), 'x509cert': fields.CharField(validators=[validate_certificate]), 'attr_user_permanent_id': fields.CharField(required=False), 'attr_first_name': fields.CharField(required=False), 'attr_last_name': fields.CharField(required=False), 'attr_username': fields.CharField(required=False), 'attr_email': fields.CharField(required=False), } allow_unknown_keys = True
class SAMLContactField(HybridDictField): givenName = fields.CharField() emailAddress = fields.EmailField()
class SAMLTeamAttrTeamOrgMapField(BaseDictWithChildField): child_fields = { 'team': fields.CharField(required=True, allow_null=False), 'organization': fields.CharField(required=True, allow_null=False), }
class SAMLOrgInfoValueField(HybridDictField): name = fields.CharField() displayname = fields.CharField() url = fields.URLField()