44
55use App \Http \Controllers \Controller ;
66use Illuminate \Support \Facades \Auth ;
7+ use Illuminate \Foundation \Http \FormRequest ;
78use Soved \Laravel \Gdpr \Events \GdprDownloaded ;
89use Soved \Laravel \Gdpr \Http \Requests \GdprDownload ;
910
@@ -17,12 +18,9 @@ class GdprController extends Controller
1718 */
1819 public function download (GdprDownload $ request )
1920 {
20- $ credentials = [
21- $ request ->user ()->getAuthIdentifierName () => $ request ->user ()->getAuthIdentifier (),
22- 'password ' => $ request ->input ('password ' ),
23- ];
24-
25- abort_unless (Auth::attempt ($ credentials ), 403 );
21+ if (!$ this ->attemptLogin ($ request )) {
22+ return $ this ->sendFailedLoginResponse ();
23+ }
2624
2725 $ data = $ request ->user ()->portable ();
2826
@@ -38,4 +36,30 @@ public function download(GdprDownload $request)
3836 ]
3937 );
4038 }
39+
40+ /**
41+ * Attempt to log the user into the application.
42+ *
43+ * @param \Illuminate\Foundation\Http\FormRequest $request
44+ * @return bool
45+ */
46+ protected function attemptLogin (FormRequest $ request )
47+ {
48+ $ credentials = [
49+ $ request ->user ()->getAuthIdentifierName () => $ request ->user ()->getAuthIdentifier (),
50+ 'password ' => $ request ->input ('password ' ),
51+ ];
52+
53+ return Auth::attempt ($ credentials );
54+ }
55+
56+ /**
57+ * Get the failed login response.
58+ *
59+ * @return void
60+ */
61+ protected function sendFailedLoginResponse ()
62+ {
63+ abort (403 , 'Unauthorized. ' );
64+ }
4165}
0 commit comments