| Conditions | 6 |
| Paths | 6 |
| Total Lines | 24 |
| Lines | 0 |
| Ratio | 0 % |
| Tests | 14 |
| CRAP Score | 6 |
| Changes | 0 | ||
| 1 | <?php |
||
| 21 | 8 | public function handle($request, Closure $next) |
|
| 22 | { |
||
| 23 | /** @var Authenticator $authenticator */ |
||
| 24 | 8 | $authenticator = app(Authenticator::class)->boot($request); |
|
| 25 | 8 | $cookieResult = $authenticator->hasValidCookieToken(); |
|
| 26 | 8 | $authResult = $authenticator->isAuthenticated(); |
|
| 27 | |||
| 28 | /** @var Response $response */ |
||
| 29 | 8 | $response = $next($request); |
|
| 30 | |||
| 31 | 8 | if (false === $cookieResult && true === $authResult) { |
|
| 32 | 4 | $cookieName = config('google2fa.cookie_name') ?? 'google2fa_token'; |
|
| 33 | 4 | $lifetime = (int)(config('google2fa.cookie_lifetime') ?? 8035200); |
|
| 34 | 4 | $lifetime = $lifetime > 8035200 ? 8035200 : $lifetime; |
|
| 35 | 4 | $token = $authenticator->sessionGet(Constants::SESSION_TOKEN); |
|
| 36 | 4 | $response->withCookie(cookie()->make($cookieName, $token, $lifetime / 60)); |
|
|
1 ignored issue
–
show
|
|||
| 37 | } |
||
| 38 | |||
| 39 | 8 | if (true === $cookieResult || true === $authResult) { |
|
| 40 | 4 | return $response; |
|
| 41 | } |
||
| 42 | |||
| 43 | 7 | return $authenticator->makeRequestOneTimePasswordResponse(); |
|
| 44 | } |
||
| 45 | } |
||
| 46 |
It seems like the method you are trying to call exists only in some of the possible types.
Let’s take a look at an example:
Available Fixes
Add an additional type-check:
Only allow a single type to be passed if the variable comes from a parameter: