[ 'guard' => env('AUTH_GUARD', 'web'), 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'), ], /* |-------------------------------------------------------------------------- | Authentication Guards |-------------------------------------------------------------------------- | | Next, you may define every authentication guard for your application. | Of course, a great default configuration has been defined for you | which utilizes session storage plus the Eloquent user provider. | | All authentication guards have a user provider, which defines how the | users are actually retrieved out of your database or other storage | system used by the application. Typically, Eloquent is utilized. | | Supported: "session" | */ 'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], // The console. Its own session cookie name is set in config/session.php // is NOT enough — Laravel keeps one session per request, and both guards // read from it under different keys, so a portal login and a console // login coexist in one browser without overwriting each other. 'operator' => [ 'driver' => 'session', 'provider' => 'operators', ], ], /* |-------------------------------------------------------------------------- | User Providers |-------------------------------------------------------------------------- | | All authentication guards have a user provider, which defines how the | users are actually retrieved out of your database or other storage | system used by the application. Typically, Eloquent is utilized. | | If you have multiple user tables or models you may configure multiple | providers to represent the model / table. These providers may then | be assigned to any extra authentication guards you have defined. | | Supported: "database", "eloquent" | */ 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => env('AUTH_MODEL', User::class), ], // 'users' => [ // 'driver' => 'database', // 'table' => 'users', // ], 'operators' => [ 'driver' => 'eloquent', 'model' => Operator::class, ], ], /* |-------------------------------------------------------------------------- | Resetting Passwords |-------------------------------------------------------------------------- | | These configuration options specify the behavior of Laravel's password | reset functionality, including the table utilized for token storage | and the user provider that is invoked to actually retrieve users. | | The expiry time is the number of minutes that each reset token will be | considered valid. This security feature keeps tokens short-lived so | they have less time to be guessed. You may change this as needed. | | The throttle setting is the number of seconds a user must wait before | generating more password reset tokens. This prevents the user from | quickly generating a very large amount of password reset tokens. | */ 'passwords' => [ 'users' => [ 'provider' => 'users', 'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'), 'expire' => 60, 'throttle' => 60, ], // Die Betreiber, mit EIGENER Tabelle (R21). // // Hier stand `password_reset_tokens` — die Tabelle der Kunden. Ein // Token ist nur ein Zeilenschlüssel: teilen sich beide Personengruppen // die Tabelle, kann ein Token der einen auf der Seite der anderen // eingelöst werden. Dass die Adressen sich heute nicht überschneiden // (Admin\Settings weist eine Kundenadresse ab), ist eine Prüfung an // einer Stelle, keine Struktur. // // `expire` ist hier die Frist des EINLADUNGSLINKS, nicht die einer // Selbstbedienungs-Rücksetzung: den Weg gibt es für Betreiber (noch) // nicht, dieser Broker stellt heute ausschliesslich Einladungen aus. // 4320 Minuten sind 72 Stunden und decken ein Wochenende ab — am // Freitagnachmittag verschickt, am Montagfrüh noch brauchbar. Kürzer, // und jede Einladung vor einem freien Tag ist beim Öffnen schon tot; // deutlich länger, und ein altes Postfach hält auf Dauer einen // Schlüssel zur Betreiberkonsole, die die ganze Flotte verwaltet. // // Kommt später eine Seite „Passwort vergessen" für Betreiber dazu, // gehört ihr eine kürzere Frist — dann braucht sie einen eigenen // Broker über derselben Tabelle, statt diese Zahl zu verbiegen. // // Kein `throttle` hier: der einzige Leser dieses Werts ist // sendResetLink() (DatabaseTokenRepository::recentlyCreatedToken()), // und dieser Broker stellt Token ausschliesslich über createToken() // aus — inviteStaff() und resendInvitation() in Admin\Settings. // sendResetLink() würde ohnehin an Operator::sendPasswordResetNotification() // scheitern, das absichtlich wirft (R21: kein Selbstbedienungs-Weg für // Betreiber). Fehlt der Schlüssel, liest PasswordBrokerManager 0 — // ohne Wirkung, weil der Pfad, der ihn braucht, nie läuft. 'operators' => [ 'provider' => 'operators', 'table' => 'operator_password_reset_tokens', 'expire' => 4320, ], ], /* |-------------------------------------------------------------------------- | Password Confirmation Timeout |-------------------------------------------------------------------------- | | Here you may define the number of seconds before a password confirmation | window expires and users are asked to re-enter their password via the | confirmation screen. By default, the timeout lasts for three hours. | */ 'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800), ];