Admin 06 Jun 2026 02:54

 

Integrasi Single Sign-On (SSO) dengan LDAP

Apa Itu Single Sign-On?

Single Sign-On (SSO) adalah mekanisme otentikasi yang memungkinkan pengguna memasuki beberapa aplikasi atau layanan hanya dengan satu kali masuk. Dengan SSO, kredensial pengguna disimpan secara terpusat, mengurangi beban mengingat banyak username dan password serta meningkatkan keamanan karena pengguna tidak lagi menuliskan kata sandi secara berulangulang.

Kenapa Menggunakan LDAP untuk SSO?

LDAP (Lightweight Directory Access Protocol) adalah protokol standar untuk mengakses dan mengelola layanan direktori. Direktori LDAP biasanya menyimpan data pengguna, grup, hak akses, dan atribut lain yang diperlukan untuk otentikasi. Menggunakan LDAP sebagai sumber autentikasi pada SSO memiliki beberapa keunggulan:

  • Terpusat: Semua data pengguna berada di satu tempat.
  • Skalabilitas: LDAP dirancang untuk menangani ribuan hingga juta pengguna.
  • Keamanan: Dukungan TLS/SSL, bind anonim, dan kontrol akses granular.
  • Kompatibilitas: Banyak aplikasi mendukung LDAP secara native atau melalui plugin.

Arsitektur Dasar Integrasi SSOLDAP

Berikut alur umum integrasi SSO dengan LDAP:

  1. Pengguna mengakses aplikasi klien.
  2. Aplikasi mengarahkan ke Identity Provider (IdP) SSO.
  3. IdP meminta kredensial atau melakukan redirect ke halaman login LDAP.
  4. IdP melakukan bind ke server LDAP dengan service account untuk mencari DN (Distinguished Name) pengguna.
  5. Jika password cocok, IdP menghasilkan token (misalnya SAML Assertion atau JWT) dan mengirimkan kembali ke aplikasi klien.
  6. Aplikasi memvalidasi token dan memberikan akses sesuai peran yang didapat dari LDAP.

Diagram singkat dapat digambarkan sebagai:

[User]  [Application]  [IdP (SSO)]  [LDAP Server]            

LangkahLangkah Implementasi

1. Persiapan Server LDAP

  • Pastikan LDAP (mis. OpenLDAP, Microsoft AD) dapat diakses melalui jaringan aplikasi.
  • Aktifkan TLS/SSL (ldaps://) untuk melindungi transmisi kredensial.
  • Buat akun service (mis. cn=ssobind,ou=ServiceAccounts,dc=example,dc=com) dengan hak pencarian readonly pada OU yang berisi pengguna.
  • Pastikan skema LDAP berisi atribut uid atau sAMAccountName serta userPassword atau atribut password hash yang didukung.

2. Konfigurasi Identity Provider

Berikut contoh konfigurasi IdP berbasis Keycloak yang menggunakan LDAP sebagai User Federation:

# Pada Keycloak Admin ConsoleIdentity Providers  LDAP- Vendor: Other- Connection URL: ldaps://ldap.example.com:636- Bind DN: cn=ssobind,ou=ServiceAccounts,dc=example,dc=com- Bind Credential: ********- User DN: ou=People,dc=example,dc=com- Username LDAP attribute: uid- RDN LDAP attribute: uid- UUID LDAP attribute: entryUUID- Use Truststore SPI: ldaps-only- Import Users: ON- Search Scope: SUBTREE            

Setelah menyimpan, lakukan Sync Users untuk memuat data ke Keycloak.

3. Pilih Protokol SSO

Anda dapat memakai SAML 2.0 atau OpenID Connect (OIDC). Contoh konfigurasi OIDC pada Keycloak:

Clients  Create- Client ID: myapp- Client Protocol: openid-connect- Access Type: confidential- Valid Redirect URIs: https://myapp.example.com/*- Web Origins: https://myapp.example.com            

4. Integrasi pada Aplikasi

Gunakan library yang sesuai dengan bahasa pemrograman Anda. Berikut contoh singkat dengan Node.js menggunakan passport-openidconnect:

const passport = require('passport');const OIDCStrategy = require('passport-openidconnect').Strategy;passport.use('oidc', new OIDCStrategy({    issuer: 'https://sso.example.com/auth/realms/master',    authorizationURL: 'https://sso.example.com/auth/realms/master/protocol/openid-connect/auth',    tokenURL: 'https://sso.example.com/auth/realms/master/protocol/openid-connect/token',    userInfoURL: 'https://sso.example.com/auth/realms/master/protocol/openid-connect/userinfo',    clientID: 'myapp',    clientSecret: 'SECRET',    callbackURL: 'https://myapp.example.com/callback',    scope: 'openid profile email'},function(issuer, sub, profile, accessToken, refreshToken, done){    // Cari atau buat pengguna lokal berdasarkan profile.id    return done(null, profile);}));            

5. Penetapan Peran (Roles) Berdasarkan LDAP

LDAP dapat menyimpan grup pengguna. Pada IdP, map grup LDAP ke peran aplikasi:

# Keycloak  User Federation  LDAP  Mappers- Mapper Type: group-ldap-mapper- LDAP Groups DN: ou=Groups,dc=example,dc=com- Role Prefix: LDAP_- LDAP Filter: (objectClass=groupOfNames)            

Token yang dihasilkan akan mengandung klaim roles yang dapat diproses oleh aplikasi.

6. Pengujian & Troubleshooting

  • Gunakan ldapsearch untuk memastikan binding dan pencarian berhasil.
  • Periksa log IdP (mis. /opt/keycloak/standalone/log) untuk kesalahan bind atau mapping.
  • Pastikan jam sistem IdP dan LDAP sinkron (NTP) supaya token tidak dianggap kadaluarsa.
  • Jika menggunakan TLS, pastikan sertifikat CA terpercaya terinstal pada server IdP.

Keamanan Tambahan

  • MultiFactor Authentication (MFA) Tambahkan OTP atau push notification pada IdP.
  • Account Lockout Konfigurasi LDAP untuk memblokir akun setelah sejumlah percobaan gagal.
  • Audit Log Simpan jejak login di LDAP serta IdP untuk kepatuhan.
  • Scope Minimum Batasi atribut yang direturn ke aplikasi, hanya kirim yang diperlukan seperti uid, mail, displayName.

Kesimpulan

Integrasi Single Sign-On dengan LDAP menggabungkan kenyamanan pengguna dan keamanan terpusat. Dengan menyiapkan server LDAP yang aman, mengkonfigurasi Identity Provider (mis. Keycloak, Shibboleth, Okta), serta menyesuaikan aplikasi melalui protokol SAML atau OpenID Connect, organisasi dapat mengurangi beban manajemen password, meningkatkan kepatuhan, dan mempercepat onboarding pengguna baru. Pastikan semua komunikasi dienkripsi, gunakan MFA, serta lakukan pemantauan rutin untuk menjaga integritas sistem.

File Referensi Untuk Single Sign On Integration Using Lightweight Directory Access Protocol (LDAP)
Screenshoot
Nama File
bab_i_single_sign_on__sso__dengan_menggunakan.docx

Ukuran File
0.03 MB

Tipe File
DOCX

Situs File
Deskripsi
File ini hanya file referensi untuk Single Sign On Integration Using Lightweight Directory Access Protocol (LDAP). Tidak menjamin hal-hal spesifik yang diinginkan terdapat didalamnya.
Download langsung (menunggu 10 detik)

Single Sign On Integration Using Lightweight Directory Access Protocol (LDAP) dan Link Dow...


admin
Admin
2026-06-06 02:54:05

Wisconsin American Sign Language Interpreter Directory and Reference File Download Link


admin
Admin
2026-06-08 23:48:10

Directory Of Open Access Journals (DOAJ) dan Link Download File Referensi


admin
Admin
2026-06-06 06:06:14

LIGO Single Sign-On and Reference File Download Link


admin
Admin
2026-06-06 20:40:20

After School Program Attendance Sign In/Sign Out Sheet and Reference File Download Link


admin
Admin
2026-06-05 21:28:09