/** * {@inheritdoc} */ public function createRefreshToken(ClientInterface $client, ResourceOwnerInterface $resource_owner, array $scope = [], array $metadatas = []) { $refresh_token = $this->createEmptyRefreshToken(); $refresh_token->setScope($scope); if ($resource_owner instanceof UserAccountInterface) { $refresh_token->setResourceOwnerPublicId($resource_owner->getUserPublicId()); $refresh_token->setUserAccountPublicId($resource_owner->getPublicId()); } else { $refresh_token->setResourceOwnerPublicId($resource_owner->getPublicId()); } $refresh_token->setClientPublicId($client->getPublicId()); $refresh_token->setExpiresAt(time() + $this->getLifetime($client)); $refresh_token->setToken($this->generateToken()); $refresh_token->setMetadatas($metadatas); $this->updateRefreshToken($refresh_token); $this->saveRefreshToken($refresh_token); return $refresh_token; }
/** * {@inheritdoc} */ public function createAccessToken(ClientInterface $client, ResourceOwnerInterface $resource_owner, array $token_type_parameters, array $request_parameters, array $scope = [], RefreshTokenInterface $refresh_token = null, ClientInterface $resource_server = null, array $metadatas = []) { $access_token = $this->createEmptyAccessToken(); $access_token->setExpiresAt(time() + $this->getLifetime($client)); $access_token->setScope($scope); if ($resource_owner instanceof UserAccountInterface) { $access_token->setResourceOwnerPublicId($resource_owner->getUserPublicId()); $access_token->setUserAccountPublicId($resource_owner->getPublicId()); } else { $access_token->setResourceOwnerPublicId($resource_owner->getPublicId()); } $access_token->setClientPublicId($client->getPublicId()); $access_token->setRefreshToken(null === $refresh_token ? null : $refresh_token->getToken()); $access_token->setMetadatas($metadatas); foreach ($token_type_parameters as $key => $value) { $access_token->setParameter($key, $value); } $this->updateAccessToken($access_token); $this->populateAccessToken($access_token, $client, $resource_owner, $refresh_token, $resource_server); $this->saveAccessToken($access_token); return $access_token; }