aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/JsonApi/Routes/SAML/ConfigurationShow.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/classes/JsonApi/Routes/SAML/ConfigurationShow.php')
-rw-r--r--lib/classes/JsonApi/Routes/SAML/ConfigurationShow.php30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/classes/JsonApi/Routes/SAML/ConfigurationShow.php b/lib/classes/JsonApi/Routes/SAML/ConfigurationShow.php
new file mode 100644
index 0000000..e3b9ce3
--- /dev/null
+++ b/lib/classes/JsonApi/Routes/SAML/ConfigurationShow.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace JsonApi\Routes\SAML;
+
+use JsonApi\Errors\AuthorizationFailedException;
+use JsonApi\Routes\Route;
+use Psr\Http\Message\ResponseInterface as Response;
+use Psr\Http\Message\ServerRequestInterface as Request;
+use Studip\SAML\SetupInformation;
+
+class ConfigurationShow extends Route
+{
+ public function __invoke(Request $request, Response $response, array $args): Response
+ {
+ if (!$GLOBALS['perm']->have_perm('root')) {
+ throw new AuthorizationFailedException();
+ }
+
+ $setupInformation = $this->container->get(SetupInformation::class);
+ $config = $setupInformation->getConfiguration();
+
+ return $this->jsonResponse($response, [
+ 'data' => [
+ 'type' => 'saml-configuration',
+ 'id' => '1',
+ 'attributes' => $config,
+ ],
+ ]);
+ }
+} \ No newline at end of file