Verzeichnisstruktur phpBB-3.3.15
- Veröffentlicht
- 28.08.2024
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
Salesforce.php
01 <?php
02
03 namespace OAuth\OAuth2\Service;
04
05 use OAuth\Common\Http\Exception\TokenResponseException;
06 use OAuth\Common\Http\Uri\Uri;
07 use OAuth\OAuth2\Token\StdOAuth2Token;
08
09 class Salesforce extends AbstractService
10 {
11 /**
12 * Scopes.
13 *
14 * @var string
15 */
16 const SCOPE_API = 'api';
17 const SCOPE_REFRESH_TOKEN = 'refresh_token';
18
19 /**
20 * {@inheritdoc}
21 */
22 public function getAuthorizationEndpoint()
23 {
24 return new Uri('https://login.salesforce.com/services/oauth2/authorize');
25 }
26
27 /**
28 * {@inheritdoc}
29 */
30 public function getAccessTokenEndpoint()
31 {
32 return new Uri('https://login.salesforce.com/services/oauth2/token');
33 }
34
35 /**
36 * {@inheritdoc}
37 */
38 protected function parseRequestTokenResponse($responseBody)
39 {
40 parse_str($responseBody, $data);
41
42 if (null === $data || !is_array($data)) {
43 throw new TokenResponseException('Unable to parse response.');
44 } elseif (!isset($data['oauth_callback_confirmed']) || $data['oauth_callback_confirmed'] !== 'true') {
45 throw new TokenResponseException('Error in retrieving token.');
46 }
47
48 return $this->parseAccessTokenResponse($responseBody);
49 }
50
51 /**
52 * {@inheritdoc}
53 */
54 protected function parseAccessTokenResponse($responseBody)
55 {
56 $data = json_decode($responseBody, true);
57
58 if (null === $data || !is_array($data)) {
59 throw new TokenResponseException('Unable to parse response.');
60 } elseif (isset($data['error'])) {
61 throw new TokenResponseException('Error in retrieving token: "' . $data['error'] . '"');
62 }
63
64 $token = new StdOAuth2Token();
65 $token->setAccessToken($data['access_token']);
66 $token->setEndOfLife(StdOAuth2Token::EOL_UNKNOWN);
67 unset($data['access_token']);
68
69 if (isset($data['refresh_token'])) {
70 $token->setRefreshToken($data['refresh_token']);
71 unset($data['refresh_token']);
72 }
73
74 $token->setExtraParams($data);
75
76 return $token;
77 }
78
79 /**
80 * {@inheritdoc}
81 */
82 protected function getExtraOAuthHeaders()
83 {
84 return ['Accept' => 'application/json'];
85 }
86 }
87