/** * @param \OAuth2\Client\ClientInterface $client * @param \OAuth2\Grant\GrantTypeResponseInterface $grant_type_response * @param array $request_parameters * @param array $token_type_information * @param array $metadatas * * @throws \OAuth2\Exception\BaseExceptionInterface * * @return \OAuth2\Token\AccessTokenInterface */ private function createAccessToken(ClientInterface $client, GrantTypeResponseInterface $grant_type_response, array $request_parameters, array $token_type_information, array $metadatas) { $refresh_token = null; $resource_owner = $this->getResourceOwner($grant_type_response->getResourceOwnerPublicId(), $grant_type_response->getUserAccountPublicId()); if (true === $this->hasRefreshTokenManager()) { if (true === $grant_type_response->isRefreshTokenIssued()) { $refresh_token = $this->getRefreshTokenManager()->createRefreshToken($client, $resource_owner, $grant_type_response->getRefreshTokenScope(), $metadatas); } } $access_token = $this->getAccessTokenManager()->createAccessToken($client, $resource_owner, $token_type_information, $request_parameters, $grant_type_response->getRequestedScope(), $refresh_token, null, $metadatas); return $access_token; }