> ## 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 iOS: Panduan Cepat

> Siapkan autentikasi iOS dengan Didit: login yang di-hosting, validasi URL callback, sesi aman, serta tautan ke verifikasi dan pemantauan.

> [!WARNING]
>
> Authentication masih baru: **DiditAuth for iOS** bergantung pada rilis. Koordinat distribusi, versi, dan tanda tangan pemanggilan belum dikonfirmasi di sini. Jangan memasang paket berdasarkan tebakan atau menggunakan SDK Verifikasi Identitas sebagai Authentication SDK.

## Siapkan aplikasi

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

Gunakan sesi autentikasi sistem untuk login yang di-hosting. Rencanakan penanganan passkey native bersama domain relying party. WebView bukan pengganti alur autentikasi sistem.

## Implementasikan alur yang di-hosting

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

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

Simpan refresh token di penyimpanan kredensial yang dilindungi platform; jangan pernah menyimpannya di file preferensi biasa, analitik, atau log crash. Validasi sesi saat ini dengan `GET session/` menggunakan Bearer token pengguna akhir. Serialisasi proses refresh, ganti kedua token secara bersamaan, dan hapus state khusus pengguna setelah keluar. 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 masuk, akses ke sesi saat ini, pengambilan token, keluar, dan step-up, dengan sinyal perangkat otomatis. Passkey native dan penyimpanan token yang dilindungi juga termasuk dalam rilis tersebut. API wrapper akan mengikuti kontrak platform yang dipublikasikan. Jangan menyalin argumen konstruktor atau tanda tangan metode yang ditebak dari contoh desain.

Sampai modul dirilis, nonaktifkan adapter-nya atau gunakan implementasi protokol yang di-hosting dan sudah ditinjau untuk aplikasi Anda yang telah diaktifkan. Jangan mengiklankan quickstart Authentication native yang berfungsi hanya karena paket sudah terpasang.

## Hubungkan verifikasi dan pemantauan

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

Gunakan [SDK Verifikasi Identitas untuk iOS](https://docs.didit.me/id/integration/native-sdks/ios-sdk.md) jika Anda memerlukan Verifikasi Identitas. Ikuti [SDK transaction submission](https://docs.didit.me/id/transaction-monitoring/sdk-transaction-submission.md) untuk dukungan pemantauan di platform Anda. Perlakukan keputusan login, verifikasi, dan transaksi secara terpisah.

## Verifikasi integrasi

Uji saat aplikasi yang sebelumnya ditutup dibuka kembali dari kondisi mati, transisi ke background dan foreground, pembatalan browser, callback yang tidak cocok, penggunaan ulang kode, kedaluwarsa token, refresh bersamaan, MFA, logout, dan masuk sebagai pengguna lain. Uji pendaftaran dan masuk dengan passkey di perangkat yang didukung setelah rilis tersebut tersedia. Pemeriksaan khusus perangkat tetap belum terverifikasi sampai dijalankan di platform target.


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