> For the complete documentation index, see [llms.txt](https://docs.chamilo.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chamilo.org/3.x/id/panduan-administrasi/admin-guide/authentication/scim.md).

# SCIM

**SCIM** (System for Cross-domain Identity Management) mengotomatiskan penyediaan pengguna — membuat, memperbarui, dan menonaktifkan akun Chamilo berdasarkan perubahan di penyedia identitas Anda. Berbeda dengan OAuth2 atau LDAP, SCIM menangani penyediaan, bukan login.

| Skenario                         | Tindakan SCIM                             |
| -------------------------------- | ----------------------------------------- |
| Karyawan baru bergabung          | Membuat akun Chamilo                      |
| Nama atau peran karyawan berubah | Memperbarui akun Chamilo                  |
| Karyawan keluar                  | Menonaktifkan atau menghapus akun Chamilo |

## Konfigurasi

### 1. Set the SCIM token

Di berkas `.env` (atau `.env.local`) Anda, tentukan token acak yang aman:

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

Token ini digunakan oleh penyedia identitas Anda untuk mengautentikasi permintaan ke endpoint SCIM Chamilo.

### 2. Enable SCIM in authentication.yaml

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

Bersihkan dan panaskan cache setelah mengedit:

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

### 3. Configure your identity provider

Di penyedia identitas Anda (Azure AD, Okta, dll.):

1. Tambahkan Chamilo sebagai aplikasi SCIM
2. Setel URL dasar SCIM ke `https://your-chamilo-url/scim/v2/`
3. Masukkan token dari langkah 1 sebagai bearer token
4. Petakan atribut penyedia ke bidang standar SCIM (userName, name.givenName, name.familyName, emails)
5. Aktifkan penyediaan otomatis

## Endpoint SCIM

Chamilo mengimplementasikan SCIM 2.0:

| Endpoint              | Method | Action         |
| --------------------- | ------ | -------------- |
| `/scim/v2/Users`      | GET    | List users     |
| `/scim/v2/Users`      | POST   | Create a user  |
| `/scim/v2/Users/{id}` | GET    | Get a user     |
| `/scim/v2/Users/{id}` | PUT    | Replace a user |
| `/scim/v2/Users/{id}` | PATCH  | Update a user  |
| `/scim/v2/Users/{id}` | DELETE | Remove a user  |

## Tips

* **Mulai dengan grup uji** — sediakan sekelompok kecil pengguna sebelum mengaktifkan SCIM untuk seluruh organisasi.
* **Gabungkan dengan OAuth2** — pengaturan umum menggunakan Azure AD OAuth2 untuk login dan Azure AD SCIM untuk penyediaan.
* **Pantau log** — periksa log Chamilo (`var/log/`) dan log penyediaan penyedia identitas Anda untuk kesalahan.
