Getting started Community Training Tutorials Documentation APIs, AI & Tools
@ClientCredentials(tokenUrl = "https://login.salesforce.com/services/oauth2/authorize")
public class SalesforceOAuthConnectionProvider<C> implements ConnectionProvider<SalesforceClient> {
@Parameter
@Optional(defaultValue = "34.0")
private Double apiVersion;
/**
* Tailors the login page to the user's device type.
*/
@OAuthParameter
private String display;
/**
* Avoid interacting with the user
*/
@OAuthParameter
@Optional(defaultValue = "false")
private boolean immediate;
/**
* Specifies how the authorization server prompts the user for reauthentication and reapproval
*/
@OAuthParameter
@Optional(defaultValue = "true")
private boolean prompt;
@OAuthCallbackValue(expression = "#[payload.instance_url]")
private String instanceId;
@OAuthCallbackValue(expression = "#[payload.id]")
private String userId;
private ClientCredentialsState state;
@Override
public SalesforceClient connect() throws ConnectionException {
if (state.getAccessToken() == null) {
throw new SalesforceException(MessageFormat.format(COULD_NOT_EXTRACT_FIELD, "accessToken"));
}
if (instanceId == null) {
throw new SalesforceException(MessageFormat.format(COULD_NOT_EXTRACT_FIELD, "instanceId"));
}
return new SalesforceClient(state.getAccessToken(), instanceId, apiVersion);
}
public void disconnect(SalesforceClient connection) {
connection.close();
}
@Override
public ConnectionValidationResult validate(SalesforceClient connection) {
return success();
}
}



