Session::getAccessToken()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 3
c 0
b 0
f 0
ccs 2
cts 2
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php
2
/**
3
 * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
 *
5
 * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
 * use, copy, modify, and distribute this software in source code or binary
7
 * form for use in connection with the web services and APIs provided by
8
 * Facebook.
9
 *
10
 * As with any software that integrates with the Facebook platform, your use
11
 * of this software is subject to the Facebook Developer Principles and
12
 * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
 * shall be included in all copies or substantial portions of the software.
14
 *
15
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
 * DEALINGS IN THE SOFTWARE.
22
 *
23
 */
24
25
namespace FacebookAds;
26
27
class Session implements SessionInterface {
28
29
  /**
30
   * @var string
31
   */
32
  protected $appId;
33
34
  /**
35
   * @var string
36
   */
37
  protected $appSecret;
38
39
  /**
40
   * @var string
41
   */
42
  protected $accessToken;
43
44
  /**
45
   * @var string
46
   */
47
  protected $appSecretProof;
48
49
  /**
50
   * @param string $app_id
51
   * @param string $app_secret
52
   * @param string $access_token
53
   */
54 8
  public function __construct($app_id, $app_secret, $access_token) {
55 8
    $this->appId = $app_id;
56 8
    $this->appSecret = $app_secret;
57 8
    $this->accessToken = $access_token;
58 8
  }
59
60
  /**
61
   * @return string
62
   */
63 2
  public function getAppId() {
64 2
    return $this->appId;
65
  }
66
67
  /**
68
   * @return string
69
   */
70 3
  public function getAppSecret() {
71 3
    return $this->appSecret;
72
  }
73
74
  /**
75
   * @return string
76
   */
77 3
  public function getAccessToken() {
78 3
    return $this->accessToken;
79
  }
80
81
  /**
82
   * @return string
83
   */
84 1
  public function getAppSecretProof() {
85 1
    if ($this->appSecretProof === null) {
86 1
      $this->appSecretProof
87 1
        = hash_hmac('sha256', $this->getAccessToken(), $this->getAppSecret());
88 1
    }
89 1
    return $this->appSecretProof;
90
  }
91
92
  /**
93
   * @return array
94
   */
95
  public function getRequestParameters() {
96
    return array(
97
      'access_token' => $this->getAccessToken(),
98
      'appsecret_proof' => $this->getAppSecretProof(),
99
    );
100
  }
101
}
102