From bb96aaac1e8ddb4d437151c82f6394c22ecb237c Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Wed, 16 Mar 2022 13:53:53 +0100
Subject: [PATCH] Remove CustomUserRoles

This depends on tugraz specific things, so move it there.
---
 src/Resources/config/services.yaml |  3 ---
 src/Service/CustomUserRoles.php    | 36 ------------------------------
 src/Service/LDAPApi.php            | 18 ---------------
 3 files changed, 57 deletions(-)
 delete mode 100644 src/Service/CustomUserRoles.php

diff --git a/src/Resources/config/services.yaml b/src/Resources/config/services.yaml
index e574c64..c5bd7a0 100644
--- a/src/Resources/config/services.yaml
+++ b/src/Resources/config/services.yaml
@@ -6,6 +6,3 @@ services:
 
   Dbp\Relay\BasePersonBundle\API\PersonProviderInterface:
     '@Dbp\Relay\BasePersonConnectorLdapBundle\Service\LDAPPersonProvider'
-
-  Dbp\Relay\AuthBundle\API\UserRolesInterface:
-    '@Dbp\Relay\BasePersonConnectorLdapBundle\Service\CustomUserRoles'
diff --git a/src/Service/CustomUserRoles.php b/src/Service/CustomUserRoles.php
deleted file mode 100644
index 2c1634c..0000000
--- a/src/Service/CustomUserRoles.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace Dbp\Relay\BasePersonConnectorLdapBundle\Service;
-
-use Dbp\Relay\AuthBundle\API\UserRolesInterface;
-
-class CustomUserRoles implements UserRolesInterface
-{
-    private $ldap;
-
-    public function __construct(LDAPApi $ldap)
-    {
-        $this->ldap = $ldap;
-    }
-
-    public function getRoles(?string $userIdentifier, array $scopes): array
-    {
-        // Convert all scopes to roles, like the default
-        $roles = [];
-        foreach ($scopes as $scope) {
-            $roles[] = 'ROLE_SCOPE_'.mb_strtoupper($scope);
-        }
-
-        // In case we have a real user also merge in roles from LDAP
-        if ($userIdentifier !== null) {
-            $personRoles = $this->ldap->getRolesForCurrentPerson();
-            $roles = array_merge($roles, $personRoles);
-            $roles = array_unique($roles);
-            sort($roles, SORT_STRING);
-        }
-
-        return $roles;
-    }
-}
diff --git a/src/Service/LDAPApi.php b/src/Service/LDAPApi.php
index ecc106e..dd8a44c 100644
--- a/src/Service/LDAPApi.php
+++ b/src/Service/LDAPApi.php
@@ -266,24 +266,6 @@ class LDAPApi implements LoggerAwareInterface, ServiceSubscriberInterface
         return $postEvent->getPerson();
     }
 
-    public function getRolesForCurrentPerson(): array
-    {
-        $person = $this->getCurrentPerson();
-        if ($person !== null) {
-            $roles = $person->getExtraData('ldap-roles');
-
-            if ($roles === null) {
-                return [];
-            }
-
-            assert(is_array($roles));
-
-            return $roles;
-        }
-
-        return [];
-    }
-
     public function getPerson(string $id): Person
     {
         $id = str_replace('/people/', '', $id);
-- 
GitLab