| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  | /** | 
					
						
							|  |  |  |  * auth.php | 
					
						
							| 
									
										
										
										
											2019-10-02 06:38:00 +02:00
										 |  |  |  * Copyright (c) 2019 thegrumpydictator@gmail.com | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-10-02 06:38:00 +02:00
										 |  |  |  * This file is part of Firefly III (https://github.com/firefly-iii). | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-10-02 06:38:00 +02:00
										 |  |  |  * This program is free software: you can redistribute it and/or modify | 
					
						
							|  |  |  |  * it under the terms of the GNU Affero General Public License as | 
					
						
							|  |  |  |  * published by the Free Software Foundation, either version 3 of the | 
					
						
							|  |  |  |  * License, or (at your option) any later version. | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-10-02 06:38:00 +02:00
										 |  |  |  * This program is distributed in the hope that it will be useful, | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							| 
									
										
										
										
											2019-10-02 06:38:00 +02:00
										 |  |  |  * GNU Affero General Public License for more details. | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-10-02 06:38:00 +02:00
										 |  |  |  * You should have received a copy of the GNU Affero General Public License | 
					
						
							|  |  |  |  * along with this program.  If not, see <https://www.gnu.org/licenses/>. | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-14 17:40:02 +02:00
										 |  |  | declare(strict_types=1); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-12 10:27:45 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-09 22:32:11 +02:00
										 |  |  | return [ | 
					
						
							| 
									
										
										
										
											2016-05-20 08:57:45 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-09 22:32:11 +02:00
										 |  |  |     /* | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | Authentication Defaults | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     | This option controls the default authentication "guard" and password | 
					
						
							|  |  |  |     | reset options for your application. You may change these defaults | 
					
						
							|  |  |  |     | as required, but they're a perfect start for most applications. | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     */ | 
					
						
							| 
									
										
										
										
											2017-08-18 21:08:51 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-09 22:32:11 +02:00
										 |  |  |     'defaults' => [ | 
					
						
							| 
									
										
										
										
											2017-11-15 11:33:07 +01:00
										 |  |  |         'guard'     => 'web', | 
					
						
							| 
									
										
										
										
											2016-01-08 15:59:21 +01:00
										 |  |  |         'passwords' => 'users', | 
					
						
							|  |  |  |     ], | 
					
						
							| 
									
										
										
										
											2017-09-09 22:32:11 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | Authentication Guards | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     | Next, you may define every authentication guard for your application. | 
					
						
							|  |  |  |     | Of course, a great default configuration has been defined for you | 
					
						
							|  |  |  |     | here which uses session storage and the Eloquent user provider. | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     | 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: "session", "token" | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     'guards' => [ | 
					
						
							| 
									
										
										
										
											2016-01-08 15:59:21 +01:00
										 |  |  |         'web' => [ | 
					
						
							| 
									
										
										
										
											2017-11-15 11:33:07 +01:00
										 |  |  |             'driver'   => 'session', | 
					
						
							| 
									
										
										
										
											2016-01-08 15:59:21 +01:00
										 |  |  |             'provider' => 'users', | 
					
						
							|  |  |  |         ], | 
					
						
							|  |  |  |         'api' => [ | 
					
						
							| 
									
										
										
										
											2018-02-04 08:14:03 +01:00
										 |  |  |             'driver'   => 'passport', | 
					
						
							| 
									
										
										
										
											2016-01-08 15:59:21 +01:00
										 |  |  |             'provider' => 'users', | 
					
						
							|  |  |  |         ], | 
					
						
							|  |  |  |     ], | 
					
						
							| 
									
										
										
										
											2017-09-09 22:32:11 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | User Providers | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     | 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. | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     | If you have multiple user tables or models you may configure multiple | 
					
						
							|  |  |  |     | sources which represent each model / table. These sources may then | 
					
						
							|  |  |  |     | be assigned to any extra authentication guards you have defined. | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     | Supported: "database", "eloquent" | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-08 15:59:21 +01:00
										 |  |  |     'providers' => [ | 
					
						
							|  |  |  |         'users' => [ | 
					
						
							| 
									
										
										
										
											2018-10-13 15:06:56 +02:00
										 |  |  |             'driver' => envNonEmpty('LOGIN_PROVIDER', 'eloquent'),//'adldap',
 | 
					
						
							| 
									
										
										
										
											2017-11-15 11:33:07 +01:00
										 |  |  |             'model'  => FireflyIII\User::class, | 
					
						
							| 
									
										
										
										
											2016-01-08 15:59:21 +01:00
										 |  |  |         ], | 
					
						
							|  |  |  |     ], | 
					
						
							| 
									
										
										
										
											2017-09-09 22:32:11 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | Resetting Passwords | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     | You may specify multiple password reset configurations if you have more | 
					
						
							|  |  |  |     | than one user table or model in the application and you want to have | 
					
						
							|  |  |  |     | separate password reset settings based on the specific user types. | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     | The expire time is the number of minutes that the reset token should be | 
					
						
							|  |  |  |     | considered valid. This security feature keeps tokens short-lived so | 
					
						
							|  |  |  |     | they have less time to be guessed. You may change this as needed. | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-08 15:59:21 +01:00
										 |  |  |     'passwords' => [ | 
					
						
							|  |  |  |         'users' => [ | 
					
						
							|  |  |  |             'provider' => 'users', | 
					
						
							| 
									
										
										
										
											2017-11-15 11:33:07 +01:00
										 |  |  |             'table'    => 'password_resets', | 
					
						
							|  |  |  |             'expire'   => 60, | 
					
						
							| 
									
										
										
										
											2016-01-08 15:59:21 +01:00
										 |  |  |         ], | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |     ], | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ]; |