SMS-leverantör

FoxIDs stöder att skicka SMS-meddelanden med Access URL, Gateway API, Smstools och Telia SMS Gateway. SMS-leverantören kan konfigureras som SMS-leverantör i varje miljö eller globalt i FoxIDs site-konfiguration.

FoxIDs skickar SMS-meddelanden till användare för verifieringskoder, passwordless login och multifaktorautentisering när SMS är aktiverat i loginflödet.

FoxIDs innehåller standard-SMS-leverantörer för leverantörs-API:er som stöds och en generisk Access URL SMS-leverantör för leverantörer som inte är inbyggda. Använd standardleverantörerna när leverantörens API matchar en av de stödda integrationerna. Använd Access URL när leverantören kan ta emot en HTTPS GET-request med leverantörsspecifika query-parametrar.

Access URL

Access URL-leverantören är en generisk leverantör för flexibla SMS-integrationer. Den anropar ett leverantörsspecifikt HTTPS-endpoint med de query-parametrar som krävs av den konkreta SMS-leverantören. API URL:en är en absolut HTTPS base URL utan query-parametrar. Query-parametrar konfigureras separat och kan använda fasta värden eller placeholders.

Stödda placeholders:

  • {phone} - användarens telefonnummer.
  • {message} - SMS-meddelandets text.
  • {fromName} - det konfigurerade SMS-avsändarnamnet.

Exempel på Access URL-konfiguration:

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

FoxIDs skickar requesten som HTTP GET och URL-kodar varje query-parametervärde. API URL:en loggas tillsammans med telefonnumret. Query-parametrar loggas inte. Om leverantören returnerar ett fel loggar FoxIDs telefonnummer, SMS-meddelande, HTTP-statuskod och leverantörens response.

Konfigurera SMS-leverantör i miljö

SMS-leverantören kan konfigureras i varje miljö, där avsändarnamnet är obligatoriskt. Om en SMS-leverantör är konfigurerad i miljön används den i stället för en globalt konfigurerad SMS-leverantör.

Access URL

Konfigurera Access URL med en API URL och de query-parametrar som krävs av SMS-leverantören. API URL:en måste vara en absolut HTTPS base URL utan query-parametrar. Lägg till varje query-parameter separat och använd placeholders där värdet ska infogas vid sändning.

Konfigurera Access URL SMS-leverantör i miljö

Obligatoriska värden:

  • Type: AccessUrl
  • Avsändarnamn
  • API URL
  • Query-parametrar med minst en {phone} placeholder och en {message} placeholder

Gateway API

Konfigurera Gateway API med leverantörens endpoint och token. Avsändarnamnet skickas som SMS-avsändare, och den valfria labeln skickas till Gateway API.

Konfigurera Gateway API SMS-leverantör i miljö

Obligatoriska värden:

  • Type: GatewayApi
  • Avsändarnamn
  • API URL
  • Client secret

Valfria värden:

  • Label

Smstools

Konfigurera Smstools med leverantörens endpoint, client ID och client secret. Avsändarnamnet skickas som SMS-avsändare.

Konfigurera Smstools SMS-leverantör i miljö

Obligatoriska värden:

  • Type: Smstools
  • Avsändarnamn
  • API URL
  • Client ID
  • Client secret

Telia SMS Gateway

Konfigurera Telia SMS Gateway med leverantörens endpoint, avsändaradress, API key och mTLS-certifikat. Avsändarnamnet skickas som SMS-avsändarnamn, och client ID skickas som avsändaradress.

Konfigurera Telia SMS Gateway-leverantör i miljö

Obligatoriska värden:

  • Type: TeliaSmsGateway
  • Avsändarnamn
  • API URL
  • Client ID (avsändaradress)
  • Client secret (API key)
  • mTLS-certifikat

Konfigurera SMS-leverantör globalt

SMS-leverantören kan valfritt konfigureras globalt i FoxIDs site application settings. Avsändarnamnet är obligatoriskt.

API URL:en måste vara en absolut HTTPS URL för alla SMS-leverantörer. För Access URL måste API URL:en också vara en base URL utan query-parametrar, och query-parametrarna måste innehålla minst en {phone} placeholder och en {message} placeholder.

Access URL

Konfigurera Access URL med 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}"
      }
    ]
  }
}

Konfigurera Access URL query-parametrar i Parameters. Varje parameter har ett Name och ett Value. Query-parametrarna måste innehålla minst en {phone} placeholder och en {message} placeholder. Placeholders {phone}, {message} och {fromName} kan användas i parametervärden.

När FoxIDs distribueras till Kubernetes konfigureras samma application settings som miljövariabler på foxids-containern. Använd dubbla understreck (__) för att separera konfigurationsnivåer. Parameters-inställningen är en lista, så varje query-parameter använder ett nollbaserat index i variabelnamnet:

env:
  - name: "Settings__Sms__Type"
    value: "AccessUrl"
  - name: "Settings__Sms__FromName"
    value: "My-sender"
  - name: "Settings__Sms__ApiUrl"
    value: "https://some-provider.dk/sms/"
  - name: "Settings__Sms__Parameters__0__Name"
    value: "username"
  - name: "Settings__Sms__Parameters__0__Value"
    value: "xxxxxx"
  - name: "Settings__Sms__Parameters__1__Name"
    value: "password"
  - name: "Settings__Sms__Parameters__1__Value"
    valueFrom:
      secretKeyRef:
        name: sms-secret
        key: access-url-password
  - name: "Settings__Sms__Parameters__2__Name"
    value: "recipient"
  - name: "Settings__Sms__Parameters__2__Value"
    value: "{phone}"
  - name: "Settings__Sms__Parameters__3__Name"
    value: "from"
  - name: "Settings__Sms__Parameters__3__Value"
    value: "{fromName}"
  - name: "Settings__Sms__Parameters__4__Name"
    value: "message"
  - name: "Settings__Sms__Parameters__4__Value"
    value: "{message}"

Lägg till ytterligare en query-parameter genom att använda nästa index, till exempel Settings__Sms__Parameters__5__Name och Settings__Sms__Parameters__5__Value. Känsliga fasta värden som lösenord eller API keys bör läsas från en Kubernetes Secret med valueFrom.secretKeyRef.

Gateway API

Konfigurera Gateway API med application settings:

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

ClientSecret skickas som Gateway API-token. Label är valfri.

Smstools

Konfigurera Smstools med application settings:

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

Telia SMS Gateway

Konfigurera Telia SMS Gateway med 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 skickas som avsändaradress. ClientSecret skickas som API key. Certifikatet och den privata nyckeln används för mTLS.