config = new entra_c(); } public function get_users($array = false): array|object { $graphClient = $this->getGraphClient(); $users = $graphClient->users() ->get() ->wait() ->getValue(); if (!$array) { return $users; } $result = []; foreach ( $users as $user ) { $result[] = [ 'id' => $user->getId(), 'displayName' => $user->getDisplayName(), 'mail' => $user->getMail(), 'userPrincipalName' => $user->getUserPrincipalName(), ]; } return $result; } public function getGraphClient(): GraphServiceClient { return new GraphServiceClient( $this->getTokenRequestContext(), ); } public function getTokenRequestContext(): ClientCredentialContext { return new ClientCredentialContext( $this->config->tenant_id->getVariableValue(), $this->config->client_id->getVariableValue(), $this->config->client_secret->getVariableValue() ); } }