Cara kerjanya
Setiap aplikasi memiliki origin untuk masuk dan penerbit token sendiri. Aplikasi produksi dan sandbox terpisah: keduanya memiliki origin, pengaturan, dan identitas yang berbeda.
Alurnya adalah kode otorisasi OAuth 2.0 dengan PKCE (hanya
S256):
- Aplikasi Anda membuka
{origin}/sign-indenganredirect_uri,state,code_challenge, dancode_challenge_method=S256. - Halaman yang di-hosting membuat orang tersebut masuk atau mendaftarkannya dengan metode yang Anda aktifkan, termasuk faktor kedua jika diwajibkan.
- Browser kembali ke
redirect_uriAnda dengancodedanstate. - Aplikasi Anda menukar kode di
POST {origin}/token/dengan token akses, token ID, dan token refresh.
Pilih platform Anda
JavaScript
Masuk yang di-hosting, callback, sesi, dan logout.
React
State klien dan tampilan aplikasi yang dilindungi.
Next.js
Sesi server, rute callback, dan cookie.
iOS
Browser sistem dan penyimpanan token yang aman.
Android
Otorisasi browser dan callback aplikasi.
React Native
Persiapan wrapper autentikasi bawaan.
Flutter
Persiapan wrapper autentikasi bawaan.
Siapkan aplikasi Anda
- Minta Didit mengaktifkan Authentication untuk aplikasi Anda. Uji coba di aplikasi sandbox terlebih dahulu.
- Daftarkan URL redirect Anda yang tepat (hingga 50) dan
allowed_originsbrowser (hingga 50) yang memanggil API runtime. - Aktifkan metode masuk yang ingin Anda tawarkan. Didit ID Wallet selalu aktif.
- Pilih pengaturan sesi dan kata sandi Anda (lihat di bawah).
- Uji pendaftaran, masuk, lupa kata sandi, MFA, kedaluwarsa sesi, dan logout sebelum Anda beralih ke produksi.
URL redirect
Didit hanya mengembalikan pengguna ke alamat yang telah Anda daftarkan. Daftarkan alamat Anda di konsol, di bawah Authentication > Security and sessions > Redirect URLs and allowed origins.redirect_uri dalam permintaan masuk harus cocok dengan URL yang terdaftar karakter demi karakter: skema, host, port, path, dan query.
Port yang berbeda, garis miring di akhir, atau perbedaan huruf besar-kecil menghasilkan alamat yang berbeda.
Wildcard, fragment, kredensial dalam URL, dan skema kustom ditolak.
Saat alamat tidak terdaftar, Didit tidak pernah mengarahkan ke alamat tersebut.
{origin}/sign-in mengembalikan 400 dengan halaman yang menjelaskan apa yang harus didaftarkan dan di mana, dan POST {origin}/authorize/ mengembalikan 400 {"error": "invalid_redirect_uri"}.
Pengembangan lokal
Uji di mesin Anda sendiri dengan aplikasi sandbox Anda:- Daftarkan callback Anda beserta port-nya, misalnya
http://localhost:3000/auth/callback. - Jika kode browser memanggil API runtime, misalnya untuk menukar kode di
POST {origin}/token/, tambahkan origin ke Allowed origins juga:http://localhost:3000, tanpa path dan tanpa garis miring di akhir. - Mulai masuk di origin sandbox Anda,
https://<slug>.sandbox.auth.didit.me, dengan kuncipk_test_...Anda.
localhost, 127.0.0.1, dan [::1] adalah alamat yang berbeda, begitu juga setiap port. Daftarkan setiap alamat yang Anda gunakan.
Aplikasi produksi tidak pernah menerima http://.
Sebelum beralih ke produksi, daftarkan callback https:// produksi Anda di aplikasi produksi Anda.
Pengaturan aplikasi
Anda mengelola pengaturan ini di konsol, atau dengan sesi konsol yang berwenang dan memilikiwrite:authentication.
Pertahankan satu orang di seluruh produk
Setiap identitas memiliki nilaivendor_data. Nilai ini adalah external_id yang Anda berikan saat mengimpor orang tersebut, atau ID identitas Didit jika tidak. Nilai ini muncul di token akses, ID token, dan GET session/.
Gunakan nilai yang sama sebagai vendor_data saat Anda membuat sesi verifikasi dan mengirimkan transaksi. Dengan begitu, event autentikasi masuk ke orang yang sama di konsol seperti verifikasi dan transaksinya. Lihat event dan webhook.
Dapatkan vendor_data di backend Anda dari token yang sudah diverifikasi, jangan pernah dari kolom browser yang belum diperiksa.
Gunakan instruksi integrasi bersama untuk kombinasi apa pun. Baca perlindungan bot untuk kebijakan yang berjalan saat masuk.