Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
41.67% covered (danger)
41.67%
5 / 12
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
Authenticate
41.67% covered (danger)
41.67%
5 / 12
0.00% covered (danger)
0.00%
0 / 1
13.15
0.00% covered (danger)
0.00%
0 / 1
 redirectTo
41.67% covered (danger)
41.67%
5 / 12
0.00% covered (danger)
0.00%
0 / 1
13.15
1<?php
2
3namespace App\Http\Middleware;
4
5use Illuminate\Auth\Middleware\Authenticate as Middleware;
6use Illuminate\Http\Request;
7use Illuminate\Support\Facades\Session;
8
9class Authenticate extends Middleware
10{
11    /**
12     * Get the path the user should be redirected to when they are not authenticated.
13     *
14     * @param  \Illuminate\Http\Request $request
15     * @return string|null
16     */
17    protected function redirectTo(Request $request): ?string
18    {
19        $logins = [
20            'backend' => route('bo.login')
21        ];
22        if (!$request->expectsJson()) {
23            // * Notify must login
24            Session::flash('warning', trans('Veuillez vous connecter pour continuer'));
25
26            foreach ($request->route()->gatherMiddleware() as $middleware) {
27                if (\is_string($middleware) and strpos($middleware, 'auth:') !== false) {
28                    $route = $logins[str_replace('auth:', '', $middleware)] ?? null;
29                    if ($route) {
30                        return $route;
31                    }
32                }
33            }
34            return route('login');
35        }
36
37        return null;
38    }
39}