Skip to content

Auth: empat pilihan

Pilih sesuai kebutuhan app, bisa dipasang berbarengan untuk route berbeda:

  1. SessionAuth — login lokal sederhana (Core\Auth\SessionAuthenticator: cek password hash, simpan session). Model user bebas — tidak harus Core\Iam\Model\User, cukup ada findFirstByUsername() + kolom password.
  2. IamAuth — app jadi client dari satu IAM server internal Aurora (custom, Ed25519 JWT, ABAC dinamis). Butuh Core\Iam\Model\* (lihat Starter-kit IAM) berjalan di SATU app yang jadi server-nya.
  3. CasdoorAuth — app jadi client dari aurora-sso (Casdoor, RS256 JWT via JWKS). PENTING: tokenFormat dan TokenSigningMethod beda per deployment — cek ke instance aurora-sso yang sebenarnya, jangan asumsi default upstream Casdoor.
  4. OAuth2Auth — app jadi client dari provider OAuth2/OIDC mana pun (Keycloak, Auth0, Google, dst) — bukan spesifik satu vendor seperti CasdoorAuth. Multi-provider sekaligus dalam satu app (app/config/oauth2.phpproviders.{key}), endpoint auto-detect lewat OIDC discovery ({issuer}/.well-known/openid-configuration) atau diisi manual. Kalau target Anda spesifik Casdoor (aurora-sso), tetap pakai CasdoorAuth/ Casdoor\Sdk — lebih ringan (curl langsung, tanpa dependency Guzzle), sudah battle-tested di banyak app.

Package ini tidak pernah memaksa app memakai auth apa pun — kalau middleware auth tidak didaftarkan, tidak ada dampak sama sekali.

Detail lengkap Casdoor/OAuth2 (contoh Sdk session-based login, config multi-provider, trait SsoLoginActions buat controller login-redirect + callback siap pakai, catatan performa/discovery) ada di Casdoor & OAuth2/OIDC — dipisah dari halaman ini supaya tidak makin membengkak.