]> BookStack Code Mirror - bookstack/commitdiff
Fixed lack of oidc discovery filtering during testing 2960/head
authorDan Brown <redacted>
Thu, 14 Oct 2021 12:37:55 +0000 (13:37 +0100)
committerDan Brown <redacted>
Thu, 14 Oct 2021 12:37:55 +0000 (13:37 +0100)
Tested oidc system on okta, Keycloak & Auth0

app/Auth/Access/Oidc/OidcProviderSettings.php
app/Providers/AppServiceProvider.php

index f1b5306678ab215b62f43d13a76b0ff509841afd..2b72c54b00b363a587c9ada9823eadadba021244 100644 (file)
@@ -149,7 +149,7 @@ class OidcProviderSettings
 
         if (!empty($result['jwks_uri'])) {
             $keys = $this->loadKeysFromUri($result['jwks_uri'], $httpClient);
-            $discoveredSettings['keys'] = array_filter($keys);
+            $discoveredSettings['keys'] = $this->filterKeys($keys);
         }
 
         return $discoveredSettings;
@@ -161,7 +161,7 @@ class OidcProviderSettings
     protected function filterKeys(array $keys): array
     {
         return array_filter($keys, function(array $key) {
-            return $key['key'] === 'RSA' && $key['use'] === 'sig' && $key['alg'] === 'RS256';
+            return $key['kty'] === 'RSA' && $key['use'] === 'sig' && $key['alg'] === 'RS256';
         });
     }
 
index 18e1fb627c95b6bc00c67940b49effff691dfc73..5fce642cf6b85e02f6b11bcdd94492aff041c91d 100644 (file)
@@ -80,7 +80,9 @@ class AppServiceProvider extends ServiceProvider
         });
 
         $this->app->bind(HttpClientInterface::class, function($app) {
-            return new Client(['timeout' => 3]);
+            return new Client([
+                'timeout' => 3,
+            ]);
         });
     }
 }