From 24f82749ffd03f9a4800dd32545ace46e5fe7dcc Mon Sep 17 00:00:00 2001
From: Dan Brown <ssddanbrown@googlemail.com>
Date: Tue, 6 Sep 2022 16:32:42 +0100
Subject: [PATCH] Updated OIDC group attr option name

To match the existing option name for display names.
Closes #3704
---
 .env.example.complete                | 2 +-
 app/Auth/Access/Oidc/OidcService.php | 2 +-
 app/Config/oidc.php                  | 2 +-
 tests/Auth/OidcTest.php              | 6 +++---
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/.env.example.complete b/.env.example.complete
index a0eef5cab..03e52d6bb 100644
--- a/.env.example.complete
+++ b/.env.example.complete
@@ -266,7 +266,7 @@ OIDC_TOKEN_ENDPOINT=null
 OIDC_ADDITIONAL_SCOPES=null
 OIDC_DUMP_USER_DETAILS=false
 OIDC_USER_TO_GROUPS=false
-OIDC_GROUP_ATTRIBUTE=groups
+OIDC_GROUPS_CLAIM=groups
 OIDC_REMOVE_FROM_GROUPS=false
 
 # Disable default third-party services such as Gravatar and Draw.IO
diff --git a/app/Auth/Access/Oidc/OidcService.php b/app/Auth/Access/Oidc/OidcService.php
index c4d847804..4f5a3e1ac 100644
--- a/app/Auth/Access/Oidc/OidcService.php
+++ b/app/Auth/Access/Oidc/OidcService.php
@@ -181,7 +181,7 @@ class OidcService
      */
     protected function getUserGroups(OidcIdToken $token): array
     {
-        $groupsAttr = $this->config()['group_attribute'];
+        $groupsAttr = $this->config()['groups_claim'];
         if (empty($groupsAttr)) {
             return [];
         }
diff --git a/app/Config/oidc.php b/app/Config/oidc.php
index 8a9dd3a87..d223a63ef 100644
--- a/app/Config/oidc.php
+++ b/app/Config/oidc.php
@@ -41,7 +41,7 @@ return [
     // Enable syncing, upon login, of OIDC groups to BookStack roles
     'user_to_groups' => env('OIDC_USER_TO_GROUPS', false),
     // Attribute, within a OIDC ID token, to find group names within
-    'group_attribute' => env('OIDC_GROUP_ATTRIBUTE', 'groups'),
+    'groups_claim' => env('OIDC_GROUPS_CLAIM', 'groups'),
     // When syncing groups, remove any groups that no longer match. Otherwise sync only adds new groups.
     'remove_from_groups' => env('OIDC_REMOVE_FROM_GROUPS', false),
 ];
diff --git a/tests/Auth/OidcTest.php b/tests/Auth/OidcTest.php
index 8c6e0635f..52444e4a2 100644
--- a/tests/Auth/OidcTest.php
+++ b/tests/Auth/OidcTest.php
@@ -40,7 +40,7 @@ class OidcTest extends TestCase
             'oidc.dump_user_details'      => false,
             'oidc.additional_scopes'      => '',
             'oidc.user_to_groups'         => false,
-            'oidc.group_attribute'        => 'group',
+            'oidc.groups_claim'           => 'group',
             'oidc.remove_from_groups'     => false,
         ]);
     }
@@ -364,7 +364,7 @@ class OidcTest extends TestCase
     {
         config()->set([
             'oidc.user_to_groups'     => true,
-            'oidc.group_attribute'    => 'groups',
+            'oidc.groups_claim'    => 'groups',
             'oidc.remove_from_groups' => false,
         ]);
         $roleA = Role::factory()->create(['display_name' => 'Wizards']);
@@ -390,7 +390,7 @@ class OidcTest extends TestCase
     {
         config()->set([
             'oidc.user_to_groups'     => true,
-            'oidc.group_attribute'    => 'my.custom.groups.attr',
+            'oidc.groups_claim'    => 'my.custom.groups.attr',
             'oidc.remove_from_groups' => false,
         ]);
         $roleA = Role::factory()->create(['display_name' => 'Wizards']);