From 6414bd07920a613456110d6a61c4624923bb2664 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Mon, 26 Jul 2021 15:37:25 +0200
Subject: [PATCH] Integrate the new keycloak bundle

This mainly means the keycloak config moves to a separate bundle
---
 composer.json                     |  3 +-
 composer.lock                     | 50 ++++++++++++++++++++++++++++---
 config/bundles.php                |  1 +
 config/packages/dbp_core.yaml     | 11 +------
 config/packages/dbp_keycloak.yaml |  8 +++++
 symfony.lock                      |  3 ++
 6 files changed, 61 insertions(+), 15 deletions(-)
 create mode 100644 config/packages/dbp_keycloak.yaml

diff --git a/composer.json b/composer.json
index 13578b9..a2d0ae8 100644
--- a/composer.json
+++ b/composer.json
@@ -4,7 +4,8 @@
     "license": "AGPL-3.0-or-later",
     "require": {
         "php": "^7.3",
-        "dbp/api-core-bundle": "^0.1.5",
+        "dbp/api-core-bundle": "^0.1.7",
+        "dbp/api-keycloak-bundle": "^0.1.0",
         "symfony/apache-pack": "^1.0",
         "symfony/console": "^5.2",
         "symfony/dotenv": "^5.2",
diff --git a/composer.lock b/composer.lock
index bfc1624..976466d 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "0241681131fc06b29cb69931481a5c7c",
+    "content-hash": "5d820eccbf920816fbd0edc9d679d385",
     "packages": [
         {
             "name": "api-platform/core",
@@ -223,11 +223,11 @@
         },
         {
             "name": "dbp/api-core-bundle",
-            "version": "v0.1.6",
+            "version": "v0.1.7",
             "source": {
                 "type": "git",
                 "url": "https://gitlab.tugraz.at/dbp/dbp-api/api-core-bundle",
-                "reference": "00152673fe78d63feeea06e9d24a2a5c991bbe9e"
+                "reference": "3c805ba5d963849be0b07d6b5f28c2d22a01f3d3"
             },
             "require": {
                 "api-platform/core": "^2.6.3",
@@ -271,7 +271,49 @@
             "license": [
                 "AGPL-3.0-or-later"
             ],
-            "time": "2021-07-12T00:17:21+00:00"
+            "time": "2021-07-22T08:56:16+00:00"
+        },
+        {
+            "name": "dbp/api-keycloak-bundle",
+            "version": "v0.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://gitlab.tugraz.at/dbp/dbp-api/api-keycloak-bundle",
+                "reference": "5ab2c886a2968f23d0668dbdecf4d91ea7d3350e"
+            },
+            "require": {
+                "dbp/api-core-bundle": "^0.1.6",
+                "ext-json": "*",
+                "guzzlehttp/guzzle": "^7.0",
+                "kevinrob/guzzle-cache-middleware": "^3.3",
+                "php": "^7.3",
+                "symfony/framework-bundle": "^5.2",
+                "symfony/security-core": "^5.2",
+                "symfony/security-guard": "^5.2",
+                "symfony/yaml": "^5.2",
+                "web-token/jwt-easy": "^2.1",
+                "web-token/jwt-signature-algorithm-rsa": "^2.1"
+            },
+            "require-dev": {
+                "friendsofphp/php-cs-fixer": "^3.0",
+                "phpstan/phpstan": "^0.12.33",
+                "phpstan/phpstan-phpunit": "^0.12.13",
+                "symfony/browser-kit": "^5.3",
+                "symfony/http-client": "^5.3",
+                "symfony/phpunit-bridge": "^5.2",
+                "vimeo/psalm": "^4.4"
+            },
+            "type": "symfony-bundle",
+            "autoload": {
+                "psr-4": {
+                    "DBP\\API\\KeycloakBundle\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "AGPL-3.0-or-later"
+            ],
+            "time": "2021-07-26T09:32:55+00:00"
         },
         {
             "name": "doctrine/annotations",
diff --git a/config/bundles.php b/config/bundles.php
index c516b84..d45bd5e 100644
--- a/config/bundles.php
+++ b/config/bundles.php
@@ -12,5 +12,6 @@ return [
     Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
     Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true],
     Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
+    DBP\API\KeycloakBundle\DbpKeycloakBundle::class => ['all' => true],
     DBP\API\CoreBundle\DbpCoreBundle::class => ['all' => true],
 ];
diff --git a/config/packages/dbp_core.yaml b/config/packages/dbp_core.yaml
index 0f354e3..6ba731a 100644
--- a/config/packages/dbp_core.yaml
+++ b/config/packages/dbp_core.yaml
@@ -1,12 +1,3 @@
 dbp_core:
-  keycloak:
-    server_url: '%env(KEYCLOAK_SERVER_URL)%'
-    realm: '%env(KEYCLOAK_REALM)%'
-    client_id: '%env(KEYCLOAK_CLIENT_ID)%'
-    client_secret: '%env(KEYCLOAK_CLIENT_SECRET)%'
-    audience: '%env(KEYCLOAK_AUDIENCE)%'
-    local_validation: '%env(bool:KEYCLOAK_LOCAL_VALIDATION)%'
-  api_docs:
-    keycloak_client_id: '%env(KEYCLOAK_FRONTEND_CLIENT_ID)%'
     build_info: '%env(APP_BUILDINFO)%'
-    build_info_url: '%env(APP_BUILDINFO_URL)%'
\ No newline at end of file
+    build_info_url: '%env(APP_BUILDINFO_URL)%'
diff --git a/config/packages/dbp_keycloak.yaml b/config/packages/dbp_keycloak.yaml
new file mode 100644
index 0000000..d8d6a2a
--- /dev/null
+++ b/config/packages/dbp_keycloak.yaml
@@ -0,0 +1,8 @@
+dbp_keycloak:
+  server_url: '%env(KEYCLOAK_SERVER_URL)%'
+  realm: '%env(KEYCLOAK_REALM)%'
+  client_id: '%env(KEYCLOAK_CLIENT_ID)%'
+  client_secret: '%env(KEYCLOAK_CLIENT_SECRET)%'
+  audience: '%env(KEYCLOAK_AUDIENCE)%'
+  local_validation: '%env(bool:KEYCLOAK_LOCAL_VALIDATION)%'
+  frontend_client_id: '%env(KEYCLOAK_FRONTEND_CLIENT_ID)%'
diff --git a/symfony.lock b/symfony.lock
index 5a54ed5..268a1a5 100644
--- a/symfony.lock
+++ b/symfony.lock
@@ -37,6 +37,9 @@
     "dbp/api-core-bundle": {
         "version": "dev-main"
     },
+    "dbp/api-keycloak-bundle": {
+        "version": "dev-main"
+    },
     "dnoegel/php-xdg-base-dir": {
         "version": "v0.1.1"
     },
-- 
GitLab