Newer Version Available

This content describes an older version of this product. View Latest

Auth Exceptions

The Auth namespace contains some exception classes.

All exception classes support built-in methods for returning the error message and exception type. See Exception Class and Built-In Exceptions.

The Auth namespace contains the following exception.

Exception Description Methods
Auth.​AuthProviderPluginException Throw this exception to indicate that an error occurred when using the auth provider plug-in. Use to display a custom error message to the user. To get the error message and write it to debug log, use the String getMessage().
Auth.​ConnectedAppPlugin​Exception Throw this exception to indicate that an error occurred while running the custom behavior for a connected app. To get the error message and write it to debug log, use the String getMessage().
Auth.JWTBearerTokenExchange.​JWTBearerTokenExchangeException​ Throw this exception to indicate a problem with the response from the token endpoint in the JWTBearerTokenExchange class. This exception occurs when the HTTP response during the OAuth 2.0 JWT bearer token flow:
  • Fails to return an access token.
  • Is not in JSON format.
  • Returns a response code other than a 200 “OK” success code.
To get the error message and write it to debug log, use the String getMessage().

Example

This example uses AuthProviderPluginException to throw a custom error message on any method in a custom authentication provider implementation. Use this exception if you want the end user to see a specific message, passing in the error message as a parameter. If you use another exception, users see a standard Salesforce error message.

1global override Auth.OAuthRefreshResult refresh(Map<string,string> authProviderConfiguration,String refreshToken){
2            HttpRequest req = new HttpRequest();
3            String accessToken = null;
4            String error  = null;
5            try {
6            
7            // DEVELOPER TODO: Make a refresh token flow using refreshToken passed 
8            // in as an argument to get the new access token
9            // accessToken = ... 
10            } catch (System.CalloutException e) {
11            error = e.getMessage();
12            }
13            catch(Exception e) {
14            error = e.getMessage();
15            throw new Auth.AuthProviderPluginException('My custom error');
16            }
17            
18            return new Auth.OAuthRefreshResult(accessToken,refreshToken, error);                
19            }