Memahami integrasi Duo Push sebagai metode kedua Authelia: menyiapkan akun Duo dan API key, konfigurasi duo_api dengan integration key dan secret key, proses enrollment perangkat di Duo Mobile, serta strategi fallback saat layanan Duo tidak tersedia.

Di episode 10, WebAuthn menangkal phishing dengan kredensial yang terikat pada domain. Namun authenticator hardware tidak selalu praktis untuk semua orang, dan aplikasi authenticator TOTP menuntut pengguna mengetik kode. Ada satu metode kedua yang menggabungkan kemudahan dan kekuatan verifikasi: push notification — sebuah notifikasi di ponsel, sekali ketuk, autentikasi selesai.
Duo Push adalah implementasi paling populer dari pola ini. Authelia mengintegrasikan Duo Security sebagai salah satu metode kedua, di mana keputusan "apakah ini benar kamu" dilakukan di aplikasi Duo Mobile. Di episode ini kalian akan menyiapkan akun Duo, memasang API key di konfigurasi duo_api, meng-enroll perangkat pengguna, dan memahami kapan push notification menang — serta kapan kalian harus tetap punya fallback.
Duo menggeser sebagian tanggung jawab autentikasi ke layanan cloud Duo Security. Alurnya:
Perhatikan ketergantungannya: Authelia tidak menangani push itu sendiri, melainkan meminta layanan Duo. Inilah trade-off utama Duo Push dibanding TOTP atau WebAuthn yang berjalan sepenuhnya mandiri — Duo membutuhkan koneksi internet ke infrastruktur Duo, dan Authelia hanya menyimpan device ID, bukan seluruh rahasia.
Langkah pertama berlangsung di dashboard Duo, bukan di Authelia:
Tip
Beri nama aplikasi yang jelas, misalnya authelia untuk domain kalian, agar mudah dikenali di dashboard Duo. API hostname mengikuti pola api-<angka>.duosecurity.com — angka unik per akun. Simpan IKey dan SKey di secret manager, bukan di git.
Integration key berperan seperti client identifier, secret key seperti password, dan hostname adalah alamat API yang akan dihubungi Authelia. Ketiganya wajib dimasukkan ke konfigurasi.
Di sisi Authelia, semua diatur lewat section duo_api:
duo_api:
hostname: "api-12345678.duosecurity.com"
integration_key: "DIXYZ1234567890"
secret_key: "rahasia-secret-key-duo"
enable_self_enrollment: falsehostname: API hostname dari dashboard Duo.integration_key: IKey yang diberikan Duo.secret_key: SKey rahasia; jangan pernah disimpan plaintext di repository.enable_self_enrollment: jika true, pengguna bisa mendaftarkan perangkat mereka sendiri lewat portal Authelia.Caution
secret_key adalah kredensial yang setara password. Gunakan environment variable seperti AUTHELIA_DUO_API_SECRET_KEY_FILE atau secret manager untuk menyuntikkannya saat runtime, bukan menulisnya langsung di configuration.yml yang bisa masuk ke git.
Ketika duo_api dikonfigurasi, Authelia otomatis menampilkan Duo sebagai metode kedua yang tersedia di portal.
Setelah terintegrasi, pengguna tidak selalu harus mengetuk notifikasi. Duo Mobile menyediakan beberapa metode autentikasi perangkat:
Metode mana yang aktif dikendalikan dari dashboard Duo dan pengaturan perangkat pengguna, bukan dari Authelia. Authelia cukup meminta Duo melakukan autentikasi terhadap perangkat yang sudah di-enroll.
Untuk memakai Duo Push, setiap pengguna harus memiliki perangkat yang terdaftar di Duo. Dua pendekatan:
enable_self_enrollment: true. Pengguna memilih Duo sebagai metode kedua di portal, lalu mengikuti panduan pemasangan Duo Mobile dan mendaftarkan perangkatnya sendiri.Saat pengguna login dengan metode Duo pertama kali, Authelia menyimpan device ID di storage. Data inilah yang dipakai Authelia pada login berikutnya untuk memicu push ke perangkat yang benar.
Duo Push nyaman, tetapi jangan pernah menjadikannya satu-satunya metode kedua. Tiga alasan utama:
Warning
Jaga TOTP atau WebAuthn tetap terdaftar di setiap akun sebagai fallback. Authelia menampilkan semua metode kedua yang tersedia di portal, sehingga pengguna bisa beralih ke TOTP atau kunci fisik saat Duo tidak dapat dihubungi. Ini bukan sekadar kenyamanan — ini jalur masuk terakhir pengguna ke layanan kalian.
Kebijakan yang sehat: jadikan Duo Push sebagai metode utama karena kemudahannya, pastikan setiap pengguna juga punya TOTP terdaftar, dan simpan kredensial Duo (IKey dan SKey) di tempat aman agar saat integrasi bermasalah kalian bisa mematikannya dengan cepat.
Poin kunci episode ini:
duo_api.Dengan Duo Push, fase MFA Authelia lengkap: TOTP untuk yang praktis, WebAuthn untuk yang ketat, Duo untuk yang paling nyaman. Tiga metode kedua siap digunakan untuk two_factor. Di episode 12, kalian akan berbalik dari sisi login ke sisi operasional: password reset, konfigurasi SMTP untuk email, serta manajemen pengguna dan perangkat — bagian yang menentukan apakah Authelia kalian nyaman dikelola jangka panjang.