rtCloud ondersteunt drie benaderingen voor Single Sign-On (SSO):

OptieMeest geschikt voor
Ingebedde KeycloakOrganisaties die een volledig op zichzelf staande SSO-server gebundeld met rtCloud willen
Externe OIDC-providerOrganisaties die al een identiteitsprovider gebruiken (Auth0, Authentik, Okta, Supabase, enz.)
Azure Active DirectoryOrganisaties die Microsoft 365 of Azure AD gebruiken

Zonder geconfigureerde SSO loggen gebruikers in met lokale rtCloud-accounts die worden beheerd via het beheerderspaneel.


Ingebedde Keycloak

De implementatie bevat een optionele Keycloak-container die naast rtCloud wordt uitgevoerd. Keycloak is vooraf geconfigureerd met een rtSurvey-realm en klaar voor gebruik.

Vereisten

  • Een domeinnaam met HTTPS (Keycloak vereist HTTPS in productie)
  • Minimaal 4 GB RAM op de server (Keycloak voegt ~512 MB geheugengebruik toe)

Installatie

1. Omgevingsvariabelen configureren in .env:

  # Schakel de ingebedde Keycloak-container in
EMBED_KEYCLOAK=true

# Keycloak URL's — gebruik uw werkelijke domein
KEYCLOAK_URL=https://rtcloud.example.com/auth
KC_HOSTNAME=https://rtcloud.example.com/auth
KC_HOSTNAME_STRICT=false

# Realm- en clientinstellingen (overeenkomend met de geïmporteerde realm JSON)
KEYCLOAK_REALM=rtsurvey
KEYCLOAK_CLIENT_ID=rtsurvey-app
KEYCLOAK_CLIENT_SECRET=uw-clientgeheim-hier

# Keycloak-beheergegevens
KEYCLOAK_ADMIN_USER=admin
KEYCLOAK_ADMIN_PASSWORD=wijzig_mij_keycloak_beheerderswachtwoord

# Keycloak-database (automatisch aangemaakt)
KEYCLOAK_DB=keycloak
KEYCLOAK_DB_USER=keycloak
KEYCLOAK_DB_PASSWORD=wijzig_mij_keycloak_db_wachtwoord

# Poort waarop Keycloak luistert (hostzijde, via Nginx geproxied)
KEYCLOAK_PORT=8091
  

2. Starten met het ingebedde Keycloak-profiel:

  docker compose -f docker-compose.production.yml --profile embed-keycloak up -d
  

3. Verifieer of Keycloak gezond is:

  docker compose -f docker-compose.production.yml ps
  

De rtcloud-keycloak-container moet na 2–3 minuten Up (healthy) tonen.

4. Toegang tot de Keycloak-beheerconsole:

  https://rtcloud.example.com/auth/admin
  

Log in met KEYCLOAK_ADMIN_USER en KEYCLOAK_ADMIN_PASSWORD.

Wat vooraf is geconfigureerd

De ingebedde Keycloak start met een vooraf geïmporteerde rtsurvey-realm die het volgende bevat:

  • Clientconfiguratie voor de webapplicatie
  • Standaard gebruikersrollen (admin, project_manager, enumerator, analyst)
  • Sessie- en tokeninstellingen geoptimaliseerd voor rtSurvey

U kunt gebruikers rechtstreeks toevoegen in de Keycloak-beheerconsole of Keycloak verbinden met een upstream-identiteitsprovider (LDAP, SAML).

Nginx-routing

Bij gebruik van de cloudimplementatiescripts wordt Nginx geconfigureerd om beide services te proxien:

PadBackend
/rtCloud-app op 127.0.0.1:8080
/auth/Keycloak op 127.0.0.1:8090

Externe OIDC-provider

Verbind rtCloud met een OpenID Connect-compatibele identiteitsprovider. Deze aanpak vereist de Keycloak-container niet.

Ondersteunde providers

Elke OIDC-conforme provider werkt, inclusief:

  • Authentik
  • Auth0
  • Okta
  • Keycloak (externe instantie)
  • Supabase
  • Google (voor Google Workspace-organisaties)
  • GitHub (via OAuth-apps met OIDC-extensie)

Installatie

1. Registreer rtCloud als OIDC-client bij uw identiteitsprovider.

U heeft nodig:

  • Een client-ID en clientgeheim
  • Registreer de redirect-URI: https://rtcloud.example.com/auth/callback
  • Voor ondersteuning van de mobiele app, registreer ook: vn.rta.rtsurvey.auth://callback

2. Omgevingsvariabelen configureren in .env:

  # OIDC-ontdekking-URL (providerspecifiek — raadpleeg uw IdP-documentatie)
OIDC_ISSUER_URL=https://uw-identiteitsprovider.com

# Clientgegevens van uw identiteitsprovider
OIDC_CLIENT_ID=rtcloud-app
OIDC_CLIENT_SECRET=uw-clientgeheim-hier

# Te verzoeken scopes (openid, profile en email zijn doorgaans voldoende)
OIDC_SCOPE=openid profile email

# Redirect-URI geregistreerd bij uw identiteitsprovider
OIDC_REDIRECT_URI=https://rtcloud.example.com/auth/callback

# Optioneel: afzonderlijke mobiele app-client
OIDC_MOBILE_CLIENT_ID=rtcloud-mobile
OIDC_MOBILE_REDIRECT_URI=vn.rta.rtsurvey.auth://callback

# Stel in op true om automatisch rtCloud-accounts aan te maken voor nieuwe OIDC-gebruikers
OPEN_REGISTRATION=false
  

3. Herstart de app-container om de wijzigingen toe te passen:

  docker compose -f docker-compose.production.yml up -d --force-recreate rtcloud
  

Automatisch gebruikers aanmaken

Wanneer OPEN_REGISTRATION=true is, maakt rtCloud automatisch een lokaal account aan de eerste keer dat een gebruiker inlogt via OIDC. Het account wordt gevuld met de naam en het e-mailadres van de gebruiker uit het ID-token.

Wanneer OPEN_REGISTRATION=false (standaard), moet een rtCloud-beheerder eerst het gebruikersaccount aanmaken, en de OIDC-identiteit wordt gekoppeld bij de eerste login.

Aangepaste eindpunten

Als uw provider OIDC-ontdekking (.well-known/openid-configuration) niet ondersteunt, kunt u eindpunten handmatig instellen:

  OIDC_AUTHORIZATION_ENDPOINT=https://uw-provider.com/oauth2/authorize
OIDC_TOKEN_ENDPOINT=https://uw-provider.com/oauth2/token
OIDC_USERINFO_ENDPOINT=https://uw-provider.com/oauth2/userinfo
  

Azure Active Directory

Integreer rtCloud met de Microsoft Azure AD-tenant van uw organisatie.

Installatie

1. Registreer een nieuwe app in de Azure Portal:

  • Ga naar Azure Active DirectoryApp-registratiesNieuwe registratie
  • Naam: rtCloud
  • Redirect-URI: https://rtcloud.example.com/auth/callback (webtype)
  • Noteer na aanmaak de Applicatie (client) ID en Directory (tenant) ID
  • Maak onder Certificaten & geheimen een nieuw clientgeheim aan

2. Omgevingsvariabelen configureren in .env:

  AZURE_CLIENT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
AZURE_TENANT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  

3. Herstart de app-container:

  docker compose -f docker-compose.production.yml up -d --force-recreate rtcloud
  

Gebruikers in uw Azure AD-tenant kunnen nu inloggen op rtCloud met hun Microsoft-gegevens.


SSO uitschakelen

Om terug te keren naar lokale authenticatie, verwijdert of commentariseert u alle SSO-gerelateerde variabelen uit .env en herstart dan de app-container:

  docker compose -f docker-compose.production.yml up -d --force-recreate rtcloud
  

Als u ingebedde Keycloak gebruikte, stop het dan door de --profile embed-keycloak-vlag weg te laten en docker compose down uit te voeren gevolgd door up -d zonder het profiel.

Was deze pagina nuttig?