BearerAuthProcessor   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 15
ccs 0
cts 9
cp 0
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A authenticate() 0 7 1
A getTokenPrefix() 0 3 1
1
<?php
2
3
namespace Koded\Framework\Auth;
4
5
use Koded\Http\HTTPUnauthorized;
6
7
/**
8
 * Implements Bearer based authentication.
9
 *
10
 * Clients should authenticate by passing the value key in the
11
 * "Authorization" HTTP header, prepended with the string "Bearer "
12
 *
13
 *      Authorization: Bearer ac11d0618fc73ecb05ac96b905553bd506879de7
14
 */
15
class BearerAuthProcessor extends BasicAuthProcessor
16
{
17
    public function authenticate(AuthBackend $backend, string $credentials): ?object
18
    {
19
        return $backend($this->getTokenPrefix(), $this->extractCredentials($credentials))
20
            ?? throw new HTTPUnauthorized(
21
                title: __('Authorization failed'),
22
                detail: __('Invalid authorization token'),
23
                type: 'https://kodedphp.github.io/auth/value',
24
            );
25
    }
26
27
    public function getTokenPrefix(): string
28
    {
29
        return 'Bearer';
30
    }
31
}
32