Passed
Push — master ( 6d5e0e...7d440c )
by Niels
04:06 queued 57s
created

AuthZeroConfiguration::getAudience()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
1
<?php
2
3
namespace Superbrave\AuthZeroHttpClient;
4
5
/**
6
 * The object containing the configuration values required for successful Machine-to-Machine
7
 * authentication with Auth0 using the Oauth2 Client Credentials Flow.
8
 *
9
 * @author Niels Nijens <[email protected]>
10
 */
11
class AuthZeroConfiguration
12
{
13
    /**
14
     * @var string
15
     */
16
    private $tenantUri;
17
18
    /**
19
     * @var string
20
     */
21
    private $clientId;
22
23
    /**
24
     * @var string
25
     */
26
    private $clientSecret;
27
28
    /**
29
     * @var string
30
     */
31
    private $audience;
32
33
    /**
34
     * Constructs a new AuthZeroConfiguration instance.
35
     *
36
     * @param string $tenantUri    Your Auth0 tenant URL
37
     * @param string $clientId     Your application's Client ID
38
     * @param string $clientSecret Your application's Client Secret
39
     * @param string $audience     The unique identifier of the target API you want to access
40
     */
41 8
    public function __construct(string $tenantUri, string $clientId, string $clientSecret, string $audience)
42
    {
43 8
        $this->tenantUri = $tenantUri;
44 8
        $this->clientId = $clientId;
45 8
        $this->clientSecret = $clientSecret;
46 8
        $this->audience = $audience;
47 8
    }
48
49
    /**
50
     * @return string
51
     */
52 4
    public function getAudience(): string
53
    {
54 4
        return $this->audience;
55
    }
56
57
    /**
58
     * Returns the URL to request an Auth0 access token.
59
     *
60
     * @return string
61
     */
62 5
    public function getTenantTokenUrl(): string
63
    {
64 5
        return sprintf('%s/oauth/token', $this->tenantUri);
65
    }
66
67
    /**
68
     * Returns the payload required to request an Auth0 access token.
69
     *
70
     * @return array
71
     */
72 5
    public function getAuthenticationPayload(): array
73
    {
74
        return array(
75 5
            'client_id' => $this->clientId,
76 5
            'client_secret' => $this->clientSecret,
77 5
            'audience' => $this->audience,
78 5
            'grant_type' => 'client_credentials',
79
        );
80
    }
81
}
82