meteor/meteor · error · ServiceConfiguration.ConfigError

Service not configured

Error message

Service not configured

What it means

Error "Service not configured" thrown in meteor/meteor.

Source

Thrown at packages/google-oauth/google_server.js:131

      idToken: request.idToken,
      accessToken: request.accessToken,
      email: request.email,
      picture: request.imageUrl,
      ...result.serviceData,
    },
    result.options
  );
});

// returns an object containing:
// - accessToken
// - expiresIn: lifetime of token in seconds
// - refreshToken, if this is the first authorization request
const getTokens = async (query, callback) => {
  const config = await ServiceConfiguration.configurations.findOneAsync({
    service: 'google',
  });
  if (!config) throw new ServiceConfiguration.ConfigError();

  const content = new URLSearchParams({
    code: query.code,
    client_id: config.clientId,
    client_secret: OAuth.openSecret(config.secret),
    redirect_uri: OAuth._redirectUri('google', config),
    grant_type: 'authorization_code',
  });
  const request = await OAuth._fetch('https://accounts.google.com/o/oauth2/token', 'POST', {
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: content,
  });
  const response = await request.json();

  if (response.error) {

View on GitHub (pinned to 5076d2f818)

Solutions

  1. Configure the Google login service with clientId and secret in serviceConfiguration or Meteor.settings.
  2. Run 'meteor add accounts-google' and complete the configuration.

When it happens

Trigger: Thrown when Google login is attempted but the service is not configured.

Common situations: Missing Google clientId/secret in ServiceConfiguration when handling the OAuth callback.


AI-assisted analysis of meteor/meteor@5076d2f818 (2026-08-13). Data as JSON: /api/errors/15d9373911b31506. Report an issue: GitHub.