# SCIM

**SCIM** (System for Cross-domain Identity Management) αυτοματοποιεί την προμήθεια χρηστών — δημιουργία, ενημέρωση και απενεργοποίηση λογαριασμών Chamilo βάσει αλλαγών στον πάροχο ταυτότητας σας. Σε αντίθεση με το OAuth2 ή το LDAP, το SCIM χειρίζεται την προμήθεια, όχι την είσοδο.

| Σενάριο                                   | Δράση SCIM                                       |
| ----------------------------------------- | ------------------------------------------------ |
| Ένας νέος υπάλληλος προσλαμβάνεται        | Δημιουργεί λογαριασμό Chamilo                    |
| Το όνομα ή ο ρόλος ενός υπαλλήλου αλλάζει | Ενημερώνει τον λογαριασμό Chamilo                |
| Ένας υπάλληλος φεύγει                     | Απενεργοποιεί ή διαγράφει τον λογαριασμό Chamilo |

## Ρύθμιση

### 1. Ορισμός του διακριτικού SCIM

Στο αρχείο `.env` (ή `.env.local`) σας, ορίστε ένα ασφαλές τυχαίο διακριτικό:

```
SCIM_TOKEN=your-secure-random-token
```

Αυτό το διακριτικό χρησιμοποιείται από τον πάροχο ταυτότητας σας για την ταυτοποίηση των αιτημάτων του στους τερματικούς σημείους SCIM του Chamilo.

### 2. Ενεργοποίηση SCIM στο authentication.yaml

```yaml
authentication:
  1:
    scim:
      main:
        enabled: true
        auth_source: platform
```

Καθαρίστε και θερμάνετε την προσωρινή μνήμη μετά την επεξεργασία:

```bash
php bin/console cache:clear && php bin/console cache:warmup
```

### 3. Ρύθμιση του παρόχου ταυτότητας σας

Στον πάροχο ταυτότητας σας (Azure AD, Okta κ.λπ.):

1. Προσθέστε το Chamilo ως εφαρμογή SCIM
2. Ορίστε το βασικό URL SCIM σε `https://your-chamilo-url/scim/v2/`
3. Εισαγάγετε το διακριτικό από το βήμα 1 ως bearer token
4. Χαρτογραφήστε τα χαρακτηριστικά του παρόχου στα τυπικά πεδία SCIM (userName, name.givenName, name.familyName, emails)
5. Ενεργοποιήστε την αυτόματη προμήθεια

## Τερματικοί σημείοι SCIM

Το Chamilo υλοποιεί το SCIM 2.0:

| Τερματικός σημείος    | Μέθοδος | Δράση                |
| --------------------- | ------- | -------------------- |
| `/scim/v2/Users`      | GET     | Λίστα χρηστών        |
| `/scim/v2/Users`      | POST    | Δημιουργία χρήστη    |
| `/scim/v2/Users/{id}` | GET     | Λήψη χρήστη          |
| `/scim/v2/Users/{id}` | PUT     | Αντικατάσταση χρήστη |
| `/scim/v2/Users/{id}` | PATCH   | Ενημέρωση χρήστη     |
| `/scim/v2/Users/{id}` | DELETE  | Αφαίρεση χρήστη      |

## Συμβουλές

* **Ξεκινήστε με ομάδα δοκιμών** — προμηθεύστε ένα μικρό σύνολο χρηστών πριν ενεργοποιήσετε το SCIM για ολόκληρη την οργάνωση.
* **Συνδυάστε με OAuth2** — μια συνηθισμένη ρύθμιση χρησιμοποιεί Azure AD OAuth2 για είσοδο και Azure AD SCIM για προμήθεια.
* **Παρακολουθήστε τα αρχεία καταγραφής** — ελέγξτε τόσο τα αρχεία καταγραφής του Chamilo (`var/log/`) όσο και τα αρχεία καταγραφής προμήθειας του παρόχου ταυτότητας σας για σφάλματα.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chamilo.org/2.x-el/odigos-diaxeirisis/admin-guide/authentication/scim.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
