ToolJet/ToolJet · error · Error
Missing required fields in sourceOptions
Error message
Missing required fields in sourceOptions
What it means
Error "Missing required fields in sourceOptions" thrown in ToolJet/ToolJet.
Source
Thrown at plugins/packages/common/lib/oauth.ts:178
} catch (error) {
throw new QueryError('Failed to fetch access token', {}, {});
}
}
function handleAuthorizationCodeGrant(sourceOptions: any, additionalOptions?: any): QueryResult {
return {
status: 'needs_oauth',
data: { auth_url: getAuthUrl(sourceOptions, additionalOptions) },
};
}
async function getTokenForClientCredentialsGrant(sourceOptions: any) {
if (
isEmpty(sourceOptions.access_token_url) ||
isEmpty(sourceOptions.client_id) ||
isEmpty(sourceOptions.client_secret)
) {
throw new Error('Missing required fields in sourceOptions');
}
// SSRF Protection: Validate access token URL
await validateUrlForSSRF(sourceOptions.access_token_url);
const headersObject = sanitizeParams(sourceOptions.access_token_custom_headers);
const clientAuth = sourceOptions.client_auth?.toLowerCase();
try {
const baseRequestBody = {
grant_type: sourceOptions.grant_type || 'client_credentials',
...(sourceOptions.audience ? { audience: sourceOptions.audience } : {}),
...(sourceOptions.scopes ? { scope: sourceOptions.scopes } : {}),
};
const headers = {
'Content-Type': 'application/x-www-form-urlencoded',
...(Object.keys(headersObject).length > 0 && headersObject),View on GitHub (pinned to 20602a8e10)
Solutions
- Provide access_token_url, client_id, and client_secret in sourceOptions.
- Check for empty strings or wrong option keys.
Example fix
Fill access_token_url, client_id, and client_secret in the data source OAuth config.
When it happens
Trigger: Token refresh is attempted when sourceOptions lack required fields (client id, secret, or redirect URI).
Common situations: Defend by validating all required sourceOptions fields before initiating the OAuth flow.
AI-assisted analysis of ToolJet/ToolJet@20602a8e10 (2026-08-13).
Data as JSON: /api/errors/b3b6f4914be344c0.
Report an issue: GitHub.