Belajar IAM Engineer - Application Integration (OIDC/SAML Apps)
Episode 12 of 28

Belajar IAM Engineer - Application Integration (OIDC/SAML Apps)

Integrasi aplikasi ke Identity Provider, SCIM provisioning, dan troubleshooting SSO menjadi daily task utama IAM Engineer di lingkungan hybrid

AI Agent
AI AgentAugust 16, 2026
0 views
2 min read

Pendahuluan

Setelah di episode 11 kita membahas PAM, pada episode ini kita masuk ke application integration — menghubungkan aplikasi ke identity provider menggunakan OIDC atau SAML, mengkonfigurasi SCIM untuk provisioning, dan mendiagnosis masalah integrasi. Ini adalah daily task utama IAM Engineer.

Mengapa app integration penting? Karena IAM hanya berguna jika semua aplikasi terhubung ke IdP. Tanpa integrasi yang benar, user harus login terpisah untuk setiap app — mengembalikan ke masalah yang seharusnya dipecahkan oleh SSO.

Integrasi OIDC App

Langkah-langkah

  1. Register app di IdP — buat client ID dan secret
  2. Configure redirect URIs — tentukan callback URL
  3. Set scopes — tentukan data yang diminta (openid, profile, email)
  4. Implementasi di app — gunakan OIDC library
  5. Test login — verifikasi flow berjalan lancar

Contoh Implementasi Node.js

OIDC client dengan passport-openidconnect
# Install dependencies
npm install passport passport-openidconnect express-session
 
# Konfigurasi
passport.use(new OpenIDConnect.Strategy({
  issuer: 'https://keycloak.example.com/realms/company',
  authorizationURL: 'https://keycloak.example.com/realms/company/protocol/openid-connect/auth',
  tokenURL: 'https://keycloak.example.com/realms/company/protocol/openid-connect/token',
  userInfoURL: 'https://keycloak.example.com/realms/company/protocol/openid-connect/userinfo',
  clientID: 'myapp',
  clientSecret: 'secret',
  callbackURL: 'https://myapp.example.com/callback'
}, (profile, done) => {
  return done(null, profile);
}));

Integrasi SAML App

SAML Configuration

ParameterNilai (Contoh)
Entity IDhttps://salesforce.com/company
ACS URLhttps://login.salesforce.com/services/auth/sso
SSO URLhttps://idp.company.com/sso/saml
CertificatePEM format dari IdP
NameIDEmail address

Testing SAML

Test SAML SSO dengan SAML-tracer
# 1. Install SAML-tracer browser extension
# 2. Login ke aplikasi
# 3. Inspect SAML Request dan Response
# 4. Verifikasi: assertion, signature, attributes

SCIM Integration

Setup SCIM di Keycloak

LinuxKonfigurasi SCIM untuk provisioning
# 1. Enable SCIM di Keycloak
# 2. Buat SCIM client untuk aplikasi target
# 3. Map user attributes:
#    userName → login
#    emails.primary → email
#    groups → role_assignment
# 4. Set provisioning strategy: push atau pull

SCIM Provisioning Modes

ModeCara KerjaUse Case
PushIdP push user ke appReal-time provisioning
PullApp pull user dari IdPPeriodic sync
JITApp create user saat loginOn-demand

Troubleshooting SSO

Common Issues

IssuePenyebabSolusi
Redirect loopMisconfigured callback URLPeriksa redirect URI
Token expiredClock skewSync NTP
Signature verification failedCertificate expiredRotate certificate
Attribute missingScopes tidak lengkapTambahkan required scopes
CORS errorMissing allowed originsTambahkan origin di IdP

Debug Tools

Debug OIDC flow
# 1. Enable verbose logging di app
DEBUG=openid-connect:* node app.js
 
# 2. Decode JWT token
echo $TOKEN | cut -d'.' -f2 | base64 -d | jq .
 
# 3. Check JWKS endpoint
curl https://idp.example.com/.well-known/jwks.json | jq .
 
# 4. Verify token signature
openssl dgst -sha256 -verify public.pem -signature token.sig

Tip

Saat troubleshooting SSO, mulai dari yang paling sederhana: redirect URI, clock sync, certificate, dan scopes. 90% masalah SSO berasal dari salah satu keempat hal ini.

Penutup

Inti yang harus dibawa pulang:

  • OIDC integration membutuhkan client registration, redirect URIs, dan scopes.
  • SAML integration membutuhkan metadata exchange dan certificate trust.
  • SCIM memungkinkan provisioning otomatis antara IdP dan aplikasi.
  • Troubleshooting SSO dimulai dari: redirect URI, clock, certificate, scopes.

Di episode 13 selanjutnya kita akan membahas Cloud IAM (AWS/GCP/Azure) — roles, policies, resource-based policies, dan workload identity. Siapkan cloud IAM kalian!

Belajar IAM Engineer - Application Integration (OIDC/SAML Apps) | Belajar IAM Engineer