public function onBeforeSend(Event $event) { if (!$this->token) { $this->token = $this->tokenStorage->fetch(); } if (!$this->token || $this->token->isExpired()) { $this->token = $this->flow->getToken(); $this->tokenStorage->store($this->token); } $request = $event['request']; $request->setHeader('Authorization', sprintf('Bearer %s', $this->token)); }
public function testIsExpiredIsNotExpired() { $token = new AccessToken('token', 'refresh', 2); sleep(1); $this->assertFalse($token->isExpired()); }
/** * @param AccessToken $token * @return AcccessToken */ public function getToken(AccessToken $token = null) { if ($token && $token->getRefreshToken()) { $this->body['grant_type'] = 'refresh_token'; $this->body['refresh_token'] = $token->getRefreshToken(); } else { $this->buildBody(); } $request = $this->client->post($this->tokenRequestPath, $this->headers, $this->body); $response = $request->send(); $data = $response->json(); $refreshToken = isset($data['data']['refresh_token']) ?: ''; return new AccessToken($data['data']['access_token'], $refreshToken, $data['data']['expires_in']); }