SMS provider

FoxIDs supports sending SMS messages with Access URL, Gateway API, Smstools and Telia SMS Gateway. The SMS provider can be configured as an SMS provider in each environment or generally in the FoxIDs site configuration.

FoxIDs sends SMS messages to users for verification codes, passwordless login and multi-factor authentication when SMS is enabled in the login flow.

FoxIDs includes standard SMS providers for supported provider APIs and a generic Access URL SMS provider for providers that are not built in. Use the standard providers when the provider API matches one of the supported integrations. Use Access URL when the provider can receive an HTTPS GET request with provider-specific query parameters.

Access URL

The Access URL provider is a generic provider for flexible SMS integrations. It calls a provider-specific HTTPS endpoint with the query parameters required by the concrete SMS provider. The API URL is an absolute HTTPS base URL without query parameters. Query parameters are configured separately and can use fixed values or placeholders.

Supported placeholders:

  • {phone} - the user's phone number.
  • {message} - the SMS message text.
  • {fromName} - the configured SMS sender name.

Example Access URL configuration:

  • API URL: https://some-provider.dk/sms/
  • username = xxxxxx
  • password = yyyyyy
  • recipient = {phone}
  • from = zzzzzz or {fromName}
  • message = {message}

FoxIDs sends the request as HTTP GET and URL-encodes each query parameter value. The API URL is logged together with the phone number. Query parameters are not logged. If the provider returns an error, FoxIDs logs the phone number, SMS message, HTTP status code and the provider response.

Configure SMS provider in environment

The SMS provider can be configured in each environment, where the sender name is required. If an SMS provider is configured in the environment, it is used instead of any general configured SMS provider.

Access URL

Configure Access URL with an API URL and the query parameters required by the SMS provider. The API URL must be an absolute HTTPS base URL without query parameters. Add each query parameter separately and use placeholders where the value should be inserted at send time.

Configure Access URL SMS provider in environment

Required values:

  • Type: AccessUrl
  • Sender name
  • API URL
  • Query parameters with at least one {phone} placeholder and one {message} placeholder

Gateway API

Configure Gateway API with the provider endpoint and token. The sender name is sent as the SMS sender, and the optional label is sent to Gateway API.

Configure Gateway API SMS provider in environment

Required values:

  • Type: GatewayApi
  • Sender name
  • API URL
  • Client secret

Optional values:

  • Label

Smstools

Configure Smstools with the provider endpoint, client ID and client secret. The sender name is sent as the SMS sender.

Configure Smstools SMS provider in environment

Required values:

  • Type: Smstools
  • Sender name
  • API URL
  • Client ID
  • Client secret

Telia SMS Gateway

Configure Telia SMS Gateway with the provider endpoint, sender address, API key and mTLS certificate. The sender name is sent as the SMS sender name, and the client ID is sent as the sender address.

Configure Telia SMS Gateway provider in environment

Required values:

  • Type: TeliaSmsGateway
  • Sender name
  • API URL
  • Client ID (sender address)
  • Client secret (API key)
  • mTLS certificate

Configure SMS provider generally

The SMS provider can optionally be configured generally in the FoxIDs site application settings. The sender name is required.

The API URL is required to be an absolute HTTPS URL for all SMS providers. For Access URL, the API URL must also be a base URL without query parameters and the query parameters must include at least one {phone} placeholder and one {message} placeholder.

Access URL

Configuring Access URL with application settings:

"Settings": {
  "Sms": {
    "Type": "AccessUrl",
    "FromName": "My-sender",
    "ApiUrl": "https://some-provider.dk/sms/",
    "Parameters": [
      {
        "Name": "username",
        "Value": "xxxxxx"
      },
      {
        "Name": "password",
        "Value": "yyyyyy"
      },
      {
        "Name": "recipient",
        "Value": "{phone}"
      },
      {
        "Name": "from",
        "Value": "{fromName}"
      },
      {
        "Name": "message",
        "Value": "{message}"
      }
    ]
  }
}

Configure Access URL query parameters in Parameters. Each parameter has a Name and a Value. The query parameters must include at least one {phone} placeholder and one {message} placeholder. The {phone}, {message} and {fromName} placeholders can be used in parameter values.

Gateway API

Configuring Gateway API with application settings:

"Settings": {
  "Sms": {
    "Type": "GatewayApi",
    "FromName": "My-sender",
    "ApiUrl": "https://gatewayapi.eu/rest/mtsms",
    "ClientSecret": "gateway-api-token",
    "Label": "FoxIDs"
  }
}

ClientSecret is sent as the Gateway API token. Label is optional.

Smstools

Configuring Smstools with application settings:

"Settings": {
  "Sms": {
    "Type": "Smstools",
    "FromName": "My-sender",
    "ApiUrl": "https://app.smstools.com",
    "ClientId": "client-id",
    "ClientSecret": "client-secret"
  }
}

Telia SMS Gateway

Configuring Telia SMS Gateway with application settings:

"Settings": {
  "Sms": {
    "Type": "TeliaSmsGateway",
    "FromName": "My-sender",
    "ApiUrl": "https://smsgw.teliamobile.dk:12123/messaging/v1/outbound/12345/requests",
    "ClientId": "12345",
    "ClientSecret": "b7dc08b6-54c8-46c2-ba37-21855d0acca4",
    "CertificatePemCrt": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----",
    "CertificatePemKey": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
  }
}

ClientId is sent as the sender address. ClientSecret is sent as the API key. The certificate and private key are used for mTLS.

Your Privacy

Your Privacy

We use cookies to make your experience of our websites better. Click the 'Accept all cookies' button to agree to the use of cookies. To opt out of non-essential cookies, click 'Necessary cookies only'.

Visit our Privacy Policy page for more