Exceptions Handling
Hybridauth uses exceptions extensively and it’s important that these exceptions be properly caught/handled in your code.
Example:
try {
$github = new Hybridauth\Provider\GitHub($config);
$github->authenticate();
$github->getUserProfile();
}
/**
* Catch Curl Errors
*
* This kind of error may happen when:
* - Internet or Networks issues.
* - Your server configuration is not setup correctly.
* The full list of curl errors that may happen can be found at http://curl.haxx.se/libcurl/c/libcurl-errors.html
*/
catch (Hybridauth\Exception\HttpClientFailureException $e) {
echo 'Curl text error message : ' . $github->getHttpClient()->getResponseClientError();
}
/**
* Catch API Requests Errors
*
* This usually happen when requesting a:
* - Wrong URI or a mal-formatted http request.
* - Protected resource without providing a valid access token.
*/
catch (Hybridauth\Exception\HttpRequestFailedException $e) {
echo 'Raw API Response: ' . $github->getHttpClient()->getResponseBody();
}
/**
* This fellow will catch everything else
*/
catch (\Exception $e) {
echo 'Oops! We ran into an unknown issue: ' . $e->getMessage();
}
Exceptions Inheritance Tree:
Exception | RuntimeException | | UnexpectedValueException | | | AuthorizationDeniedException | | | HttpClientFailureException | | | HttpRequestFailedException | | | InvalidAuthorizationCodeException | | | InvalidAuthorizationStateException | | | InvalidOauthTokenException | | | InvalidAccessTokenException | | | UnexpectedApiResponseException | | | | BadMethodCallException | | | NotImplementedException | | | | InvalidArgumentException | | | InvalidApplicationCredentialsException | | | InvalidOpenidIdentifierException
Exceptions description:
| Exception Name | Description |
|---|---|
Exception |
Exception is the base class for all Exceptions. |
RuntimeException |
Exception thrown if an error which can only be found on runtime occurs. |
InvalidArgumentException |
Exception thrown if an argument is not of the expected type. |
UnexpectedValueException |
Exception thrown if a value does not match with a set of values. |
BadMethodCallException |
Exception thrown if a callback refers to an undefined method or if some arguments are missing. |
NotImplementedException |
Exception thrown when a requested method or operation is not implemented. |
InvalidApplicationCredentialsException |
Exception thrown when your application key and secret are not setup correctly |
InvalidAuthorizationCodeException |
Exception thrown when an OAuth2 authentication request fails due to a missing, invalid, or mismatching redirection URI, or if the client identifier is missing or invalid. |
InvalidAuthorizationStateException |
Exception thrown when an OAuth2 authorization state is either invalid or has been used. |
InvalidAccessTokenException |
Exception thrown when an OAuth1 access_token is invalid. |
UnexpectedApiResponseException |
|
InvalidOauthTokenException |
Exception thrown when an OAuth1 oauth_token is invalid. |
InvalidOpenidIdentifierException |
Exception thrown when an OpenID identifier openid_identifier was not setup correctly. |
HttpClientFailureException |
Exception thrown when the curl http client returns an errors. Typically happen due to networks issues or server configuration. |
HttpRequestFailedException |
Exception thrown when a requested URL returns an errors. This usually happen when requesting a wrong URI or a protected resource without providing a valid access token. |
AuthorizationDeniedException |
Exception thrown when a user deny the authentication/authorization request. |