Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions src/Core/OAuth/OAuth2/OAuth2AccessToken.php
Original file line number Diff line number Diff line change
Expand Up @@ -247,25 +247,27 @@ public function getAccessTokenValidationPeriodInSeconds(){

/**
* Return the expiration date of Access Token
* @param string $timezone Optional timezone (e.g., 'America/New_York', 'Asia/Jakarta'). Defaults to UTC.
* @return Date
*/
public function getAccessTokenExpiresAt(){
public function getAccessTokenExpiresAt($timezone = 'UTC'){
if(!empty($this->accessTokenExpiresAt))
{
return $this->getDateFromSeconds($this->accessTokenExpiresAt);
return $this->getDateFromSeconds($this->accessTokenExpiresAt, $timezone);
}else{
throw new SdkException("The Expiration Time for OAuth 2 Access Token is not set.");
}
}

/**
* Return the expiration date of refresh Token
* @param string $timezone Optional timezone (e.g., 'America/New_York', 'Asia/Jakarta'). Defaults to UTC.
* @return int
*/
public function getRefreshTokenExpiresAt(){
public function getRefreshTokenExpiresAt($timezone = 'UTC'){
if(!empty($this->refreshTokenExpiresAt))
{
return $this->getDateFromSeconds($this->refreshTokenExpiresAt);
return $this->getDateFromSeconds($this->refreshTokenExpiresAt, $timezone);
}else{
throw new SdkException("The Expiration Time for OAuth 2 refresh Token is not set.");
}
Expand Down Expand Up @@ -355,10 +357,13 @@ public function updateAccessToken($tokenExpiresTime, $refreshToken, $refreshToke

/**
* A helper function to convert Seconds to date
* @param int $second
* @param int $seconds
* @param string $timezone
* @return string
*/
private function getDateFromSeconds($seconds){
return date('Y/m/d H:i:s', $seconds);
private function getDateFromSeconds($seconds, $timezone = 'UTC'){
$dt = new \DateTime("@$seconds");
$dt->setTimezone(new \DateTimeZone($timezone));
return $dt->format('Y/m/d H:i:s') . ' ' . $timezone;
}
}