Το rtCloud υποστηρίζει τρεις προσεγγίσεις για Ενιαία Σύνδεση (SSO):

ΕπιλογήΚατάλληλο για
Ενσωματωμένο KeycloakΟργανισμοί που θέλουν πλήρως αυτάρκη διακομιστή SSO ομαδοποιημένο με το rtCloud
Εξωτερικός πάροχος OIDCΟργανισμοί που ήδη εκτελούν πάροχο ταυτοτήτων (Auth0, Authentik, Okta, Supabase κ.λπ.)
Azure Active DirectoryΟργανισμοί που χρησιμοποιούν Microsoft 365 ή Azure AD

Χωρίς διαμόρφωση SSO, οι χρήστες συνδέονται με τοπικούς λογαριασμούς rtCloud που διαχειρίζονται μέσω του πίνακα διαχείρισης.


Ενσωματωμένο Keycloak

Η ανάπτυξη περιλαμβάνει προαιρετικό κοντέινερ Keycloak που εκτελείται παράλληλα με το rtCloud. Το Keycloak είναι προδιαμορφωμένο με realm rtSurvey και έτοιμο για χρήση.

Απαιτήσεις

  • Όνομα τομέα με HTTPS (το Keycloak απαιτεί HTTPS στην παραγωγή)
  • Τουλάχιστον 4 GB RAM στον διακομιστή (το Keycloak προσθέτει ~512 MB χρήσης μνήμης)

Ρύθμιση

1. Διαμόρφωση μεταβλητών περιβάλλοντος στο .env:

  # Ενεργοποίηση ενσωματωμένου κοντέινερ Keycloak
EMBED_KEYCLOAK=true

# URL Keycloak — χρησιμοποιήστε τον πραγματικό τομέα σας
KEYCLOAK_URL=https://rtcloud.example.com/auth
KC_HOSTNAME=https://rtcloud.example.com/auth
KC_HOSTNAME_STRICT=false

# Ρυθμίσεις realm και πελάτη (ταιριάζουν με εισαγόμενο JSON realm)
KEYCLOAK_REALM=rtsurvey
KEYCLOAK_CLIENT_ID=rtsurvey-app
KEYCLOAK_CLIENT_SECRET=your-client-secret-here

# Διαπιστευτήρια διαχειριστή Keycloak
KEYCLOAK_ADMIN_USER=admin
KEYCLOAK_ADMIN_PASSWORD=change_me_keycloak_admin_password

# Βάση δεδομένων Keycloak (δημιουργείται αυτόματα)
KEYCLOAK_DB=keycloak
KEYCLOAK_DB_USER=keycloak
KEYCLOAK_DB_PASSWORD=change_me_keycloak_db_password

# Θύρα ακρόασης Keycloak (πλευρά κεντρικού υπολογιστή, με μεσολάβηση Nginx)
KEYCLOAK_PORT=8091
  

2. Εκκίνηση με ενσωματωμένο προφίλ Keycloak:

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

3. Επαλήθευση ότι το Keycloak είναι υγιές:

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

Το κοντέινερ rtcloud-keycloak θα πρέπει να εμφανίζει Up (healthy) μετά από 2–3 λεπτά.

4. Πρόσβαση στην κονσόλα διαχείρισης Keycloak:

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

Συνδεθείτε με KEYCLOAK_ADMIN_USER και KEYCLOAK_ADMIN_PASSWORD.

Τι είναι προδιαμορφωμένο

Το ενσωματωμένο Keycloak ξεκινά με προεισαγόμενο realm rtsurvey που περιλαμβάνει:

  • Διαμόρφωση πελάτη για την εφαρμογή web
  • Προεπιλεγμένους ρόλους χρηστών (admin, project_manager, enumerator, analyst)
  • Ρυθμίσεις συνεδρίας και διακριτικού βελτιστοποιημένες για rtSurvey

Μπορείτε να προσθέσετε χρήστες απευθείας στην κονσόλα διαχείρισης Keycloak ή να συνδέσετε το Keycloak με upstream πάροχο ταυτοτήτων (LDAP, SAML).

Δρομολόγηση Nginx

Κατά τη χρήση των σεναρίων ανάπτυξης cloud, το Nginx διαμορφώνεται για μεσολάβηση και στις δύο υπηρεσίες:

ΔιαδρομήBackend
/Εφαρμογή rtCloud στο 127.0.0.1:8080
/auth/Keycloak στο 127.0.0.1:8090

Εξωτερικός πάροχος OIDC

Σύνδεση rtCloud με οποιονδήποτε πάροχο ταυτοτήτων συμβατό με OpenID Connect. Αυτή η προσέγγιση δεν απαιτεί το κοντέινερ Keycloak.

Υποστηριζόμενοι πάροχοι

Οποιοσδήποτε πάροχος συμβατός με OIDC λειτουργεί, συμπεριλαμβανομένων:

  • Authentik, Auth0, Okta, Keycloak (εξωτερική εγκατάσταση), Supabase, Google, GitHub

Ρύθμιση

1. Εγγραφή rtCloud ως πελάτη OIDC στον πάροχο ταυτοτήτων:

Θα χρειαστείτε:

  • ID πελάτη και μυστικό πελάτη
  • Εγγραφή URI ανακατεύθυνσης: https://rtcloud.example.com/auth/callback
  • Για υποστήριξη εφαρμογής κινητού, επίσης εγγραφή: vn.rta.rtsurvey.auth://callback

2. Διαμόρφωση μεταβλητών περιβάλλοντος στο .env:

  OIDC_ISSUER_URL=https://your-identity-provider.com
OIDC_CLIENT_ID=rtcloud-app
OIDC_CLIENT_SECRET=your-client-secret-here
OIDC_SCOPE=openid profile email
OIDC_REDIRECT_URI=https://rtcloud.example.com/auth/callback
OIDC_MOBILE_CLIENT_ID=rtcloud-mobile
OIDC_MOBILE_REDIRECT_URI=vn.rta.rtsurvey.auth://callback
OPEN_REGISTRATION=false
  

3. Επανεκκίνηση κοντέινερ εφαρμογής:

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

Azure Active Directory

1. Εγγραφή νέας εφαρμογής στην Πύλη Azure:

  • Μεταβείτε στο Azure Active DirectoryΕγγραφές εφαρμογώνΝέα εγγραφή
  • Όνομα: rtCloud
  • URI ανακατεύθυνσης: https://rtcloud.example.com/auth/callback (τύπος Web)

2. Διαμόρφωση μεταβλητών στο .env:

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

3. Επανεκκίνηση κοντέινερ εφαρμογής:

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

Απενεργοποίηση SSO

Για επαναφορά στην τοπική ταυτοποίηση, αφαιρέστε ή σχολιάστε όλες τις μεταβλητές SSO από το .env, στη συνέχεια επανεκκινήστε το κοντέινερ εφαρμογής:

  docker compose -f docker-compose.production.yml up -d --force-recreate rtcloud
  
Ήταν χρήσιμη αυτή η σελίδα;