Skip to content
Snippets Groups Projects
Select Git revision
  • e6eb91e0dcedc83ee23cc25e4dc78277c2f59d6a
  • main default protected
  • fix_build
  • v2.8
  • v2.7
  • v2.6
  • v2.5
  • v2.4
  • v2.3
  • v2.2
  • v2.1
  • v2.0
  • v1.4
  • v1.3
  • v1.1
  • v1.0
  • v4.2.7
  • v4.2.6
  • v4.2.5
  • v4.2.4
  • v4.2.3
  • v4.2.2
  • v4.2.1
  • v4.2.0
  • v4.1.1
  • v4.1.0
  • v4.0.3
  • v4.0.2
  • v4.0.1
  • v4.0.0
  • v3.1.5
  • v3.1.4
  • v3.1.3
  • v3.1.2
  • v3.1.1
  • v3.1.0
36 results

IsCesnetEligible.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    IsCesnetEligible.php 11.43 KiB
    <?php
    
    declare(strict_types=1);
    
    namespace SimpleSAML\Module\cesnet\Auth\Process;
    
    use SimpleSAML\Auth\ProcessingFilter;
    use SimpleSAML\Configuration;
    use SimpleSAML\Error\Exception;
    use SimpleSAML\Logger;
    use SimpleSAML\Module;
    use SimpleSAML\Module\perun\Adapter;
    use SimpleSAML\Module\perun\AdapterLdap;
    use SimpleSAML\Module\perun\AdapterRpc;
    use SimpleSAML\Module\perun\ChallengeManager;
    use SimpleSAML\Module\perun\LdapConnector;
    use SimpleSAML\Module\perun\model\User;
    
    /**
     * Class IsCesnetEligible.
     *
     * This class put the timestamp of last login into list of Attributes, when at least one value of attribute
     * 'eduPersonScopedAffiliation' is marked as isCesnetEligible in CESNET LDAP
     */
    class IsCesnetEligible extends ProcessingFilter
    {
        public const CONFIG_FILE_NAME = 'module_cesnet_IsCesnetEligible.php';
    
        public const ORGANIZATION_LDAP_BASE = 'ou=Organizations,o=eduID.cz,o=apps,dc=cesnet,dc=cz';
    
        public const INTERFACE_PROPNAME = 'interface';
    
        public const ATTR_NAME = 'attrName';
    
        public const RPC_ATTRIBUTE_NAME = 'RPC.attributeName';
    
        public const LDAP_ATTRIBUTE_NAME = 'LDAP.attributeName';
    
        public const DEFAULT_ATTR_NAME = 'isCesnetEligibleLastSeen';
    
        public const LDAP = 'LDAP';
    
        public const RPC = 'RPC';
    
        public const SCRIPT_NAME = 'updateIsCesnetEligible';
    
        public const PERUN_USER_AFFILIATIONS_ATTR_NAME = 'perunUserAffiliationsAttrName';
    
        public const PERUN_USER_SPONSORING_ORGANIZATIONS_ATTR_NAME = 'perunUserSponsoringOrganizationsAttrName';
    
        private $cesnetEligibleLastSeenValue;
    
        private $interface = self::RPC;
    
        private $rpcAttrName;
    
        private $ldapAttrName;
    
        private $returnAttrName = self::DEFAULT_ATTR_NAME;
    
        private $userAffiliationsAttrName;
    
        private $userSponsoringOrganizationsAttrName;
    
        private $idpEntityId;
    
        private $eduPersonScopedAffiliation = [];
    
        /**
         * @var LdapConnector