]> BookStack Code Mirror - bookstack/blobdiff - app/Providers/AuthServiceProvider.php
Default OpenID display name set to standard value
[bookstack] / app / Providers / AuthServiceProvider.php
index fe52df1686cec7ac00bcd82ba14a1c74b0b5f3dd..653a292488995564036761e609b15a81f999a5c4 100644 (file)
@@ -7,7 +7,9 @@ use BookStack\Api\ApiTokenGuard;
 use BookStack\Auth\Access\ExternalBaseUserProvider;
 use BookStack\Auth\Access\Guards\LdapSessionGuard;
 use BookStack\Auth\Access\Guards\Saml2SessionGuard;
+use BookStack\Auth\Access\Guards\OpenIdSessionGuard;
 use BookStack\Auth\Access\LdapService;
+use BookStack\Auth\Access\OpenIdService;
 use BookStack\Auth\Access\RegistrationService;
 use BookStack\Auth\UserRepo;
 use Illuminate\Support\ServiceProvider;
@@ -45,6 +47,17 @@ class AuthServiceProvider extends ServiceProvider
                 $app[RegistrationService::class]
             );
         });
+
+        Auth::extend('openid-session', function ($app, $name, array $config) {
+            $provider = Auth::createUserProvider($config['provider']);
+            return new OpenIdSessionGuard(
+                $name,
+                $provider,
+                $this->app['session.store'],
+                $app[OpenIdService::class],
+                $app[RegistrationService::class]
+            );
+        });
     }
 
     /**