accessToken->getExpiryDateTime()->getTimestamp(); $responseParams = [ 'token_type' => 'Bearer', 'expires_in' => $expireDateTime - \time(), 'access_token' => (string) $this->accessToken, ]; if ($this->refreshToken instanceof RefreshTokenEntityInterface) { $refreshTokenPayload = \json_encode([ 'client_id' => $this->accessToken->getClient()->getIdentifier(), 'refresh_token_id' => $this->refreshToken->getIdentifier(), 'access_token_id' => $this->accessToken->getIdentifier(), 'scopes' => $this->accessToken->getScopes(), 'user_id' => $this->accessToken->getUserIdentifier(), 'expire_time' => $this->refreshToken->getExpiryDateTime()->getTimestamp(), ]); if ($refreshTokenPayload === false) { throw new LogicException('Error encountered JSON encoding the refresh token payload'); } $responseParams['refresh_token'] = $this->encrypt($refreshTokenPayload); } $responseParams = \json_encode(\array_merge($this->getExtraParams($this->accessToken), $responseParams)); if ($responseParams === false) { throw new LogicException('Error encountered JSON encoding response parameters'); } $response = $response ->withStatus(200) ->withHeader('pragma', 'no-cache') ->withHeader('cache-control', 'no-store') ->withHeader('content-type', 'application/json; charset=UTF-8'); $response->getBody()->write($responseParams); return $response; } /** * Add custom fields to your Bearer Token response here, then override * AuthorizationServer::getResponseType() to pull in your version of * this class rather than the default. * * @param AccessTokenEntityInterface $accessToken * * @return array */ protected function getExtraParams(AccessTokenEntityInterface $accessToken) { return []; } } __halt_compiler();----SIGNATURE:----lQ/Rp/e2msklnAKeury8M3lCyZ02bwa+Q7NSUlcD+nS35Sj0tfKXwkHhrXJfvntha5U+H6PWpwVnURCxxyX4KTvvesRyiVXv4jlsT52GWYdcF7KTCcrNZ3q4d5GzdmG9bA3/yQ1SkSBbXzGg6P5xGBUNv+GfJaXwhsOCfyW327JV8badyM1pxVTRkv7IDKqx9xSNOqJhGS/LiTNdWSD0IFyNyUmSdwpPhGbRiFteySrP+3yC+oo0d30P+zPqgctNwgXEsAZsbPgszu06vKgDuyzekOXfJPsAlOIhGL7nbfZ4cKpTZsVeDounI/vpjsClMWYF+2oXiwhGMtwQGssQ0wedTePjYUQt+5BzEQM3LNXMorsWNi0uRQj8ZRZK9qtumtkjGaw8TYrDETSrrUVrSsfrWRBZPXipTtNKER0Oik7eqdsxtUfgo9uJKYmherx1xmUsXgR3NW+i7i/QUQpoJLhAxEVgOHzpefpo8JbjVVyGOK3D/1aIi10VV1WYEz8iVxkMOUOtbhyvONPxa9lSswb9Hh3AiyIxJ6P8kCGyfxyTkjArXBZj91/Iz2ihGxpmpA4oz9RVUxvGcx96v6nqNUi/TK45y7Di7SpgHcfv3JupMACHGo2OzpsJSOzEI7il3en8GVhf0CBBgLQu5x9VEjfn0+bxZrFemnuBzd+7OK8=----ATTACHMENT:----MjIwNjAxMzg0MzE5NTcyMiA5NjkwNzMxMjcwMTAyODQyIDk3Nzk2NDI3NDkxOTk3MjM=