-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathAuthenticationResponse.php
More file actions
51 lines (43 loc) · 1.34 KB
/
Copy pathAuthenticationResponse.php
File metadata and controls
51 lines (43 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
namespace WorkOS\Resource;
/**
* Class AuthenticationResponse.
*
* @property User $user
* @property ?string $organizationId
* @property string $accessToken
* @property string $refreshToken
* @property ?Impersonator $impersonator
* @property ?OAuthTokens $oauthTokens
*/
class AuthenticationResponse extends BaseWorkOSResource
{
public const RESOURCE_ATTRIBUTES = [
"user",
"organizationId",
"impersonator",
"accessToken",
"refreshToken",
"oauthTokens",
];
public const RESPONSE_TO_RESOURCE_KEY = [
"organization_id" => "organizationId",
"access_token" => "accessToken",
"refresh_token" => "refreshToken",
"oauth_tokens" => "oauthTokens",
];
public static function constructFromResponse($response)
{
$instance = parent::constructFromResponse($response);
$instance->values["user"] = User::constructFromResponse($response["user"]);
if (isset($response["impersonator"])) {
$instance->values["impersonator"] = Impersonator::constructFromResponse(
$response["impersonator"]
);
}
if (isset($response["oauth_tokens"])) {
$instance->values["oauthTokens"] = OAuthTokens::constructFromResponse($response["oauth_tokens"]);
}
return $instance;
}
}