return [
- // Method of authentication to use
- // Options: standard, ldap
+ // Options: standard, ldap, saml2, oidc
'method' => env('AUTH_METHOD', 'standard'),
+ // Automatically initiate login via external auth system if it's the sole auth method.
+ // Works with saml2 or oidc auth methods.
+ 'auto_initiate' => env('AUTH_AUTO_INITIATE', false),
+
// Authentication Defaults
// This option controls the default authentication "guard" and password
// reset options for your application.
'defaults' => [
- 'guard' => env('AUTH_METHOD', 'standard') === 'standard' ? 'web' : env('AUTH_METHOD'),
+ 'guard' => env('AUTH_METHOD', 'standard'),
'passwords' => 'users',
],
// All authentication drivers have a user provider. This defines how the
// users are actually retrieved out of your database or other storage
// mechanisms used by this application to persist your user's data.
- // Supported drivers: "session", "api-token", "ldap-session"
+ // Supported drivers: "session", "api-token", "ldap-session", "async-external-session"
'guards' => [
- 'web' => [
- 'driver' => 'session',
+ 'standard' => [
+ 'driver' => 'session',
'provider' => 'users',
],
'ldap' => [
- 'driver' => 'ldap-session',
+ 'driver' => 'ldap-session',
'provider' => 'external',
],
'saml2' => [
- 'driver' => 'saml2-session',
+ 'driver' => 'async-external-session',
+ 'provider' => 'external',
+ ],
+ 'oidc' => [
+ 'driver' => 'async-external-session',
'provider' => 'external',
],
'api' => [
- 'driver' => 'api-token',
+ 'driver' => 'api-token',
],
],
// mechanisms used by this application to persist your user's data.
'providers' => [
'users' => [
- 'driver' => env('AUTH_METHOD', 'standard') === 'standard' ? 'eloquent' : env('AUTH_METHOD'),
- 'model' => \BookStack\Auth\User::class,
+ 'driver' => 'eloquent',
+ 'model' => \BookStack\Users\Models\User::class,
],
+
'external' => [
'driver' => 'external-users',
- 'model' => \BookStack\Auth\User::class,
+ 'model' => \BookStack\Users\Models\User::class,
],
+
+ // 'users' => [
+ // 'driver' => 'database',
+ // 'table' => 'users',
+ // ],
],
// Resetting Passwords
'passwords' => [
'users' => [
'provider' => 'users',
- 'email' => 'emails.password',
- 'table' => 'password_resets',
- 'expire' => 60,
+ 'email' => 'emails.password',
+ 'table' => 'password_resets',
+ 'expire' => 60,
+ 'throttle' => 60,
],
],
+ // Password Confirmation Timeout
+ // Here you may define the amount of seconds before a password confirmation
+ // times out and the user is prompted to re-enter their password via the
+ // confirmation screen. By default, the timeout lasts for three hours.
+ 'password_timeout' => 10800,
+
];