$authBase.static::AUTHORIZE_PATH, 'urlAccessToken' => $apiBase.static::ACCESS_TOKEN_PATH, 'urlResourceOwnerDetails' => $apiBase.static::USERINFO_PATH, 'scopes' => static::SCOPES_DEFAULT, 'scopeSeparator' => static::SCOPES_SEPARATOR, ]; parent::__construct(array_merge($defaultOptions, $options), $collaborators); } /** * Checks a provider response for errors. * * @param ResponseInterface $response * @param mixed[]|string $data — Parsed response data * @return void * * @throws IdentityProviderException */ protected function checkResponse(ResponseInterface $response, $data): void { if (isset($data['error'])) { throw new IdentityProviderException($data['error'].': '.$data['message'], 0, $response); } } /** * Generates a resource owner object from a successful resource owner details request. * * @param mixed[] $response * @param AccessToken $token * @return SeptemberFirstUser */ protected function createResourceOwner(array $response, AccessToken $token): SeptemberFirstUser { return new SeptemberFirstUser($response); } }