> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Autentikasi Flutter dengan Didit: Panduan Cepat

> Siapkan autentikasi Flutter dengan Didit: login hosted, validasi URL callback, sesi aman, serta tautan ke verifikasi identitas dan pemantauan berkelanjutan.

> [!WARNING]
>
> Authentication baru hadir: **didit\_auth** bergantung pada rilis. Koordinat distribusi, versi, dan signature pemanggilan belum dikonfirmasi di sini. Jangan memasang paket yang ditebak atau menggunakan SDK Verifikasi Identitas sebagai SDK Authentication.

## Siapkan aplikasi

1. Pastikan Authentication sudah diaktifkan untuk aplikasi Didit Anda, lalu salin origin sign-in-nya (`https://<slug>.auth.didit.me`, atau `<slug>.sandbox.auth.didit.me` untuk sandbox) dari konsol.
2. Daftarkan URL callback yang tepat dan didukung oleh aplikasi serta runtime Anda. Validasi kepemilikan app link; jangan berasumsi bahwa skema URL kustom sembarang akan diterima.
3. Pisahkan konfigurasi sandbox dan live, termasuk penanganan callback dan kredensial yang disimpan.
4. Pilih pemetaan pengguna yang stabil sebelum menghubungkan verifikasi atau pemantauan.

Konfigurasikan dan uji tautan callback secara terpisah di iOS dan Android. Wrapper Authentication terpisah dari didit\_sdk, yang menangani verifikasi.

## Implementasikan alur yang di-hosting

Buka browser autentikasi sistem native dengan URL `{origin}/sign-in`. Sertakan `state` acak yang baru, tantangan PKCE S256, dan `redirect_uri` yang sudah Anda daftarkan. Simpan verifier di aplikasi Anda hanya untuk percobaan tersebut. [Panduan cepat JavaScript](https://docs.didit.me/id/authentication/quickstarts/javascript.md) menjelaskan protokol yang mendasarinya; di kode native, gunakan kriptografi dan penanganan URL dari platform, bukan global browser.

Saat callback diterima, verifikasi state, masa berlaku transaksi, dan tujuan callback sebelum menukar kode sekali pakai ke endpoint `token/`. Gunakan verifier asli dan redirect URI yang persis sama. Membatalkan atau menutup browser bukan login yang berhasil.

Simpan refresh token di penyimpanan native yang dilindungi platform; jangan pernah di file preferensi biasa, analytics, atau log crash. Validasi sesi saat ini menggunakan `GET session/` dengan Bearer token pengguna akhir. Serialisasikan proses refresh, ganti kedua token secara bersamaan, dan hapus state khusus pengguna setelah sign-out. Lihat [token dan JWKS](https://docs.didit.me/id/authentication/tokens-and-jwks.md) untuk kontrak permintaan dan perilaku penggunaan ulang refresh token.

## Pratinjau rilis SDK native

Modul Authentication native direncanakan menyediakan sign-in, akses ke sesi saat ini, pengambilan token, sign-out, dan step-up, dengan sinyal perangkat otomatis. Passkey native dan penyimpanan token yang dilindungi juga menjadi bagian dari rilis tersebut. API wrapper akan mengikuti kontrak platform yang dipublikasikan; jangan menyalin argumen konstruktor atau signature metode yang ditebak dari contoh desain.

Sampai modul dirilis, nonaktifkan adapter-nya atau gunakan implementasi protokol yang di-hosting dan sudah ditinjau untuk aplikasi yang Anda aktifkan. Jangan mengiklankan panduan cepat Authentication native yang berfungsi hanya berdasarkan pemasangan paket.

## Hubungkan verifikasi dan pemantauan

Backend Anda memperoleh `vendor_data` dari pengguna yang sudah terautentikasi. Backend membuat sesi verifikasi atau menerbitkan token pemantauan dengan cakupan terbatas untuk orang tersebut. Kembalikan hanya kredensial sesi atau token dengan cakupan terbatas ke aplikasi Anda; kunci API tetap berada di server.

Gunakan [SDK verifikasi Flutter](https://docs.didit.me/id/integration/native-sdks/flutter-sdk.md) saat Anda membutuhkan Verifikasi Identitas. Ikuti [pengiriman transaksi melalui SDK](https://docs.didit.me/id/transaction-monitoring/sdk-transaction-submission.md) untuk dukungan pemantauan di platform Anda. Perlakukan keputusan sign-in, verifikasi, dan transaksi secara terpisah.

## Verifikasi integrasi

Uji kembali ke aplikasi yang sudah ditutup, transisi background dan foreground, pembatalan browser, callback yang tidak cocok, penggunaan ulang kode, kedaluwarsa token, refresh bersamaan, MFA, logout, dan sign-in sebagai pengguna lain. Uji pendaftaran dan sign-in passkey di perangkat yang didukung setelah rilis tersebut tersedia. Pemeriksaan yang hanya bisa dilakukan di perangkat tetap belum terverifikasi sampai dijalankan di platform target.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.