File tree Expand file tree Collapse file tree 3 files changed +32
-5
lines changed Expand file tree Collapse file tree 3 files changed +32
-5
lines changed Original file line number Diff line number Diff line change 29
29
'auth ' ,
30
30
],
31
31
32
+ /*
33
+ |--------------------------------------------------------------------------
34
+ | Re-authentication
35
+ |--------------------------------------------------------------------------
36
+ |
37
+ | Only authenticated users should be able to download their data.
38
+ | Re-authentication is recommended to prevent information leakage.
39
+ |
40
+ */
41
+
42
+ 're-authenticate ' => true ,
43
+
32
44
/*
33
45
|--------------------------------------------------------------------------
34
46
| Cleanup Strategy
Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ class GdprController extends Controller
18
18
*/
19
19
public function download (GdprDownload $ request )
20
20
{
21
- if (!$ this ->attemptLogin ($ request )) {
21
+ if (!$ this ->validateRequest ($ request )) {
22
22
return $ this ->sendFailedLoginResponse ();
23
23
}
24
24
@@ -38,19 +38,34 @@ public function download(GdprDownload $request)
38
38
}
39
39
40
40
/**
41
- * Attempt to log the user into the application .
41
+ * Validate the request .
42
42
*
43
43
* @param \Illuminate\Foundation\Http\FormRequest $request
44
44
* @return bool
45
45
*/
46
- protected function attemptLogin (FormRequest $ request )
46
+ protected function validateRequest (FormRequest $ request )
47
+ {
48
+ if (config ('gdpr.re-authenticate ' , true )) {
49
+ return $ this ->hasValidCredentials ($ request );
50
+ }
51
+
52
+ return Auth::check ();
53
+ }
54
+
55
+ /**
56
+ * Validate a user's credentials.
57
+ *
58
+ * @param \Illuminate\Foundation\Http\FormRequest $request
59
+ * @return bool
60
+ */
61
+ protected function hasValidCredentials (FormRequest $ request )
47
62
{
48
63
$ credentials = [
49
64
$ request ->user ()->getAuthIdentifierName () => $ request ->user ()->getAuthIdentifier (),
50
65
'password ' => $ request ->input ('password ' ),
51
66
];
52
67
53
- return Auth::attempt ($ credentials );
68
+ return Auth::validate ($ credentials );
54
69
}
55
70
56
71
/**
Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ public function authorize()
24
24
public function rules ()
25
25
{
26
26
return [
27
- 'password ' => 'required| string ' ,
27
+ 'password ' => 'string ' ,
28
28
];
29
29
}
30
30
}
You can’t perform that action at this time.
0 commit comments