Siapkan autentikasi Flutter dengan Didit: login hosted, validasi URL callback, sesi aman, serta tautan ke verifikasi identitas dan pemantauan berkelanjutan.
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.
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.
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.
Pisahkan konfigurasi sandbox dan live, termasuk penanganan callback dan kredensial yang disimpan.
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.
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 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 untuk kontrak permintaan dan perilaku penggunaan ulang refresh token.
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.
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 saat Anda membutuhkan Verifikasi Identitas. Ikuti pengiriman transaksi melalui SDK untuk dukungan pemantauan di platform Anda. Perlakukan keputusan sign-in, verifikasi, dan transaksi secara terpisah.
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.
Terakhir diubah pada 7 November 2026
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Didit Docs","description":"The best way to integrate identity and fraud checks into your app. One API, four product lines (KYC · KYB · Transaction Monitoring · Wallet Screening), 220+ countries, 14,000+ documents, sub-2s inference, $10 free credit/month.","colors":{"primary":"#2567FF","light":"#90B1FF","dark":"#1B4FE0"},"logo":{"light":"https://mintcdn.com/didit-0f962782/dCzNNoYCusBNdK3I/logo/didit.svg?fit=max\u0026auto=format\u0026n=dCzNNoYCusBNdK3I\u0026q=85\u0026s=9f162fb8295fa1fd9300a24b293ce0b7","dark":"https://mintcdn.com/didit-0f962782/TefoKXCbZA_GIK5a/logo/didit-logo-wordmark-white.svg?fit=max\u0026auto=format\u0026n=TefoKXCbZA_GIK5a\u0026q=85\u0026s=c8c541689c814ca6a2c873cf6185a3a7","href":"https://docs.didit.me"},"favicon":"https://mintcdn.com/didit-0f962782/t6r0B-WdGMU5mSS-/favicon.ico?fit=max\u0026auto=format\u0026n=t6r0B-WdGMU5mSS-\u0026q=85\u0026s=b291917b960ebe959ae3b1aa233eafa8","api":{"examples":{"prefill":true},"mdx":{"auth":{"method":"key","name":"x-api-key"},"server":"https://verification.didit.me"}},"background":{"color":{"light":"#FFFFFF","dark":"#1A1A1A"}},"navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Support"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Sign in","href":"https://business.didit.me"}},"footer":{"socials":{"x":"https://x.com/didit","github":"https://github.com/didit-protocol","linkedin":"https://linkedin.com/company/91001155","website":"https://didit.me"}},"search":{"prompt":"Search Didit docs..."},"seo":{"metatags":{"twitter:site":"@didit","theme-color":"#2567FF","apple-mobile-web-app-title":"Didit Docs"},"organization":{"id":"https://didit.me/#organization","name":"Didit","legalName":"Didit Protocol","url":"https://didit.me","logo":"https://didit.me/logos/primary-horizontal-light.png","sameAs":["https://www.linkedin.com/company/91001155","https://www.youtube.com/@getdidit","https://github.com/didit-protocol","https://x.com/didit"]},"indexing":"navigable"},"fonts":{"heading":{"family":"Inter","weight":500},"body":{"family":"Inter","weight":400}},"errors":{"404":{"redirect":false,"title":"Page not found","description":"This page moved or never existed. [Back to docs](/)"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"thumbnails":{"appearance":"light","background":"https://mintcdn.com/didit-0f962782/Xkecx-xLq1K2abHK/images/og-thumbnail-backplate.png?fit=max\u0026auto=format\u0026n=Xkecx-xLq1K2abHK\u0026q=85\u0026s=c699fa252554b2ac8d4c631e209a1473","fonts":{"family":"Inter"}},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":""},{"language":"es","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Soporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sesión","href":"https://business.didit.me"}},"href":"es"},{"language":"pt-BR","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Entrar","href":"https://business.didit.me"}},"href":"pt-br"},{"language":"ja","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"サポート"},{"icon":"signal","href":"https://status.didit.me","label":"ステータス"}],"primary":{"type":"button","label":"サインイン","href":"https://business.didit.me"}},"href":"ja"},{"language":"de","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Support"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Anmelden","href":"https://business.didit.me"}},"href":"de"},{"language":"fr","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Assistance"},{"icon":"signal","href":"https://status.didit.me","label":"Statut"}],"primary":{"type":"button","label":"Se connecter","href":"https://business.didit.me"}},"href":"fr"},{"language":"it","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Supporto"},{"icon":"signal","href":"https://status.didit.me","label":"Stato"}],"primary":{"type":"button","label":"Accedi","href":"https://business.didit.me"}},"href":"it"},{"language":"pt","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sessão","href":"https://business.didit.me"}},"href":"pt"},{"language":"ca","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suport"},{"icon":"signal","href":"https://status.didit.me","label":"Estat"}],"primary":{"type":"button","label":"Inicia la sessió","href":"https://business.didit.me"}},"href":"ca"},{"language":"id","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Dukungan"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Masuk","href":"https://business.didit.me"}},"href":"id"},{"language":"ru","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Поддержка"},{"icon":"signal","href":"https://status.didit.me","label":"Статус"}],"primary":{"type":"button","label":"Вход","href":"https://business.didit.me"}},"href":"ru"},{"language":"ko","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"지원"},{"icon":"signal","href":"https://status.didit.me","label":"상태"}],"primary":{"type":"button","label":"로그인","href":"https://business.didit.me"}},"href":"ko"},{"language":"zh","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"支持"},{"icon":"signal","href":"https://status.didit.me","label":"状态"}],"primary":{"type":"button","label":"登录","href":"https://business.didit.me"}},"href":"zh"},{"language":"ar","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"الدعم"},{"icon":"signal","href":"https://status.didit.me","label":"الحالة"}],"primary":{"type":"button","label":"تسجيل الدخول","href":"https://business.didit.me"}},"href":"ar"},{"language":"hi","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"सहायता"},{"icon":"signal","href":"https://status.didit.me","label":"स्थिति"}],"primary":{"type":"button","label":"साइन इन करें","href":"https://business.didit.me"}},"href":"hi"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"didit-0f962782","hasAudioNarration":false,"actualSubdomain":"didit-0f962782","customDomains":["docs.didit.me"],"gitSource":{"type":"github","owner":"didit-protocol","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aef60ae8e01a92054befade","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"ar","tag":"مرجع API","count":432},{"language":"ca","tag":"Referència de l'API","count":432},{"language":"de","tag":"API-Referenz","count":432},{"language":"es","tag":"Referencia de la API","count":432},{"language":"fr","tag":"Référence API","count":432},{"language":"hi","tag":"API संदर्भ","count":432},{"language":"id","tag":"Referensi API","count":432},{"language":"it","tag":"Riferimento API","count":432},{"language":"ja","tag":"APIリファレンス","count":432},{"language":"ko","tag":"API 레퍼런스","count":432},{"language":"pt-BR","tag":"Referência da API","count":432},{"language":"pt","tag":"Referência da API","count":432},{"language":"ru","tag":"Справочник API","count":432},{"language":"zh","tag":"API 参考","count":432},{"language":"en","tag":"API Reference","count":424},{"language":"en","tag":"Database Validation","count":129},{"language":"ar","tag":"التحقق من قواعد البيانات","count":129},{"language":"ca","tag":"Validació en bases de dades","count":129},{"language":"de","tag":"Datenbankvalidierung","count":129},{"language":"es","tag":"Validación de base de datos","count":129},{"language":"fr","tag":"Validation en base de données","count":129},{"language":"hi","tag":"डेटाबेस सत्यापन","count":129},{"language":"id","tag":"Validasi Database","count":129},{"language":"it","tag":"Validazione su database","count":129},{"language":"ja","tag":"データベース検証","count":129},{"language":"ko","tag":"데이터베이스 검증","count":129},{"language":"pt-BR","tag":"Validação de banco de dados","count":129},{"language":"pt","tag":"Validação de base de dados","count":129},{"language":"ru","tag":"Проверка по базам данных","count":129},{"language":"zh","tag":"数据库核验","count":129},{"language":"ca","tag":"Primers passos","count":93},{"language":"de","tag":"Erste Schritte","count":93},{"language":"es","tag":"Primeros pasos","count":93},{"language":"ja","tag":"はじめに","count":93},{"language":"ko","tag":"시작하기","count":93},{"language":"pt-BR","tag":"Primeiros passos","count":93},{"language":"ru","tag":"Начало работы","count":93},{"language":"en","tag":"Get Started","count":87},{"language":"ar","tag":"ابدأ الآن","count":87},{"language":"fr","tag":"Commencer","count":87},{"language":"hi","tag":"शुरू करें","count":87},{"language":"id","tag":"Mulai","count":87},{"language":"it","tag":"Inizia","count":87},{"language":"pt","tag":"Começar","count":87},{"language":"zh","tag":"快速开始","count":87},{"language":"ko","tag":"인증","count":85},{"language":"en","tag":"User Verification","count":74},{"language":"ar","tag":"التحقق من المستخدمين","count":74},{"language":"ca","tag":"Verificació d'usuaris","count":74},{"language":"de","tag":"Benutzerverifizierung","count":74},{"language":"es","tag":"Verificación de usuarios","count":74},{"language":"fr","tag":"Vérification des utilisateurs","count":74},{"language":"hi","tag":"उपयोगकर्ता सत्यापन","count":74},{"language":"id","tag":"Verifikasi Pengguna","count":74},{"language":"it","tag":"Verifica degli utenti","count":74},{"language":"ja","tag":"ユーザー認証","count":74},{"language":"ko","tag":"사용자 인증","count":74},{"language":"pt-BR","tag":"Verificação de usuários","count":74},{"language":"pt","tag":"Verificação de utilizadores","count":74},{"language":"ru","tag":"Проверка пользователей","count":74},{"language":"zh","tag":"用户验证","count":74},{"language":"en","tag":"Integrate / SDKs","count":62},{"language":"ar","tag":"التكامل / SDKs","count":62},{"language":"ca","tag":"Integració / SDK","count":62},{"language":"de","tag":"Integrieren / SDKs","count":62},{"language":"es","tag":"Integración / SDKs","count":62},{"language":"fr","tag":"Intégrer / SDK","count":62},{"language":"hi","tag":"इंटीग्रेट करें / SDK","count":62},{"language":"id","tag":"Integrasi / SDK","count":62},{"language":"it","tag":"Integrazione / SDK","count":62},{"language":"ja","tag":"連携 / SDK","count":62},{"language":"ko","tag":"연동 / SDK","count":62},{"language":"pt-BR","tag":"Integração / SDKs","count":62},{"language":"pt","tag":"Integrar / SDKs","count":62},{"language":"ru","tag":"Интеграция / SDK","count":62},{"language":"zh","tag":"集成 / SDK","count":62},{"language":"en","tag":"Travel Rule","count":55},{"language":"ar","tag":"Travel Rule","count":55},{"language":"ca","tag":"Travel Rule","count":55},{"language":"de","tag":"Travel Rule","count":55},{"language":"es","tag":"Travel Rule","count":55},{"language":"fr","tag":"Travel Rule","count":55},{"language":"hi","tag":"Travel Rule","count":55},{"language":"id","tag":"Travel Rule","count":55},{"language":"it","tag":"Travel Rule","count":55},{"language":"ja","tag":"トラベルルール","count":55},{"language":"ko","tag":"Travel Rule","count":55},{"language":"pt-BR","tag":"Travel Rule","count":55},{"language":"pt","tag":"Travel Rule","count":55},{"language":"ru","tag":"Travel Rule","count":55},{"language":"zh","tag":"Travel Rule","count":55},{"language":"en","tag":"Verification","count":48},{"language":"ar","tag":"التحقق","count":48},{"language":"ca","tag":"Verificació","count":48},{"language":"de","tag":"Verifizierung","count":48},{"language":"es","tag":"Verificación","count":48},{"language":"fr","tag":"Vérification","count":48},{"language":"hi","tag":"सत्यापन","count":48},{"language":"id","tag":"Verifikasi","count":48},{"language":"it","tag":"Verifica","count":48},{"language":"ja","tag":"検証","count":48},{"language":"pt-BR","tag":"Verificação","count":48},{"language":"pt","tag":"Verificação","count":48},{"language":"ru","tag":"Верификация","count":48},{"language":"zh","tag":"验证","count":48},{"language":"en","tag":"Authentication","count":37},{"language":"ar","tag":"المصادقة","count":37},{"language":"ca","tag":"Autenticació","count":37},{"language":"de","tag":"Authentifizierung","count":37},{"language":"es","tag":"Autenticación","count":37},{"language":"fr","tag":"Authentification","count":37},{"language":"hi","tag":"प्रमाणीकरण","count":37},{"language":"id","tag":"Autentikasi","count":37},{"language":"it","tag":"Autenticazione","count":37},{"language":"ja","tag":"認証","count":37},{"language":"pt-BR","tag":"Autenticação","count":37},{"language":"pt","tag":"Autenticação","count":37},{"language":"ru","tag":"Аутентификация","count":37},{"language":"zh","tag":"身份认证","count":37},{"language":"en","tag":"Digital ID wallets","count":35},{"language":"en","tag":"User and Business Verifications","count":35},{"language":"ar","tag":"محافظ الهوية الرقمية","count":35},{"language":"ar","tag":"التحقق من المستخدمين والشركات","count":35},{"language":"ca","tag":"Carteres d'identitat digital","count":35},{"language":"ca","tag":"Verificacions d'usuaris i empreses","count":35},{"language":"de","tag":"Digitale ID-Wallets","count":35},{"language":"de","tag":"Benutzer- und Unternehmensverifizierungen","count":35},{"language":"es","tag":"Wallets de identidad digital","count":35},{"language":"es","tag":"Verificaciones de usuarios y empresas","count":35},{"language":"fr","tag":"Portefeuilles d'identité numérique","count":35},{"language":"fr","tag":"Vérifications des utilisateurs et des entreprises","count":35},{"language":"hi","tag":"डिजिटल ID वॉलेट","count":35},{"language":"hi","tag":"उपयोगकर्ता और व्यवसाय सत्यापन","count":35},{"language":"id","tag":"Dompet ID Digital","count":35},{"language":"id","tag":"Verifikasi Pengguna dan Bisnis","count":35},{"language":"it","tag":"Wallet di identità digitale","count":35},{"language":"it","tag":"Verifiche di utenti e aziende","count":35},{"language":"ja","tag":"デジタルIDウォレット","count":35},{"language":"ja","tag":"ユーザーと企業の認証","count":35},{"language":"ko","tag":"디지털 신분증 지갑","count":35},{"language":"ko","tag":"사용자 인증 및 기업 확인","count":35},{"language":"pt-BR","tag":"Carteiras de identidade digital","count":35},{"language":"pt-BR","tag":"Verificações de usuários e empresas","count":35},{"language":"pt","tag":"Carteiras de identidade digital","count":35},{"language":"pt","tag":"Verificações de utilizadores e empresas","count":35},{"language":"ru","tag":"Цифровые ID-кошельки","count":35},{"language":"ru","tag":"Верификация пользователей и компаний","count":35},{"language":"zh","tag":"数字身份钱包","count":35},{"language":"zh","tag":"用户与企业验证","count":35},{"language":"ko","tag":"거래 모니터링","count":28}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/_mintlify/custom/didit-0f962782/714dd91730ddd114/style.css"}],"page":{"pagePath":"id/authentication/quickstarts/flutter","slug":"/id/authentication/quickstarts/flutter","pageMetadata":{"title":"Autentikasi Flutter dengan Didit: Panduan Cepat","description":"Siapkan autentikasi Flutter dengan Didit: login hosted, validasi URL callback, sesi aman, serta tautan ke verifikasi identitas dan pemantauan berkelanjutan.","href":"/id/authentication/quickstarts/flutter"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Siapkan autentikasi Flutter dengan Didit: login hosted, validasi URL callback, sesi aman, serta tautan ke verifikasi identitas dan pemantauan berkelanjutan.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsxs(_components.p,{children:[`Authentication baru hadir: `,_jsx(_components.strong,{children:`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.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`siapkan-aplikasi`,children:`Siapkan aplikasi`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Pastikan Authentication sudah diaktifkan untuk aplikasi Didit Anda, lalu salin origin sign-in-nya (`,_jsx(_components.code,{children:`https://\u003cslug>.auth.didit.me`}),`, atau `,_jsx(_components.code,{children:`\u003cslug>.sandbox.auth.didit.me`}),` untuk sandbox) dari konsol.`]}),`\n`,_jsx(_components.li,{children:`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.`}),`\n`,_jsx(_components.li,{children:`Pisahkan konfigurasi sandbox dan live, termasuk penanganan callback dan kredensial yang disimpan.`}),`\n`,_jsx(_components.li,{children:`Pilih pemetaan pengguna yang stabil sebelum menghubungkan verifikasi atau pemantauan.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Konfigurasikan dan uji tautan callback secara terpisah di iOS dan Android. Wrapper Authentication terpisah dari didit_sdk, yang menangani verifikasi.`}),`\n`,_jsx(Heading,{level:`2`,id:`implementasikan-alur-yang-di-hosting`,children:`Implementasikan alur yang di-hosting`}),`\n`,_jsxs(_components.p,{children:[`Buka browser autentikasi sistem native dengan URL `,_jsx(_components.code,{children:`{origin}/sign-in`}),`. Sertakan `,_jsx(_components.code,{children:`state`}),` acak yang baru, tantangan PKCE S256, dan `,_jsx(_components.code,{children:`redirect_uri`}),` yang sudah Anda daftarkan. Simpan verifier di aplikasi Anda hanya untuk percobaan tersebut. `,_jsx(_components.a,{href:`/id/authentication/quickstarts/javascript`,children:`Panduan cepat JavaScript`}),` menjelaskan protokol yang mendasarinya; di kode native, gunakan kriptografi dan penanganan URL dari platform, bukan global browser.`]}),`\n`,_jsxs(_components.p,{children:[`Saat callback diterima, verifikasi state, masa berlaku transaksi, dan tujuan callback sebelum menukar kode sekali pakai ke endpoint `,_jsx(_components.code,{children:`token/`}),`. Gunakan verifier asli dan redirect URI yang persis sama. Membatalkan atau menutup browser bukan login yang berhasil.`]}),`\n`,_jsxs(_components.p,{children:[`Simpan refresh token di penyimpanan native yang dilindungi platform; jangan pernah di file preferensi biasa, analytics, atau log crash. Validasi sesi saat ini menggunakan `,_jsx(_components.code,{children:`GET session/`}),` dengan Bearer token pengguna akhir. Serialisasikan proses refresh, ganti kedua token secara bersamaan, dan hapus state khusus pengguna setelah sign-out. Lihat `,_jsx(_components.a,{href:`/id/authentication/tokens-and-jwks`,children:`token dan JWKS`}),` untuk kontrak permintaan dan perilaku penggunaan ulang refresh token.`]}),`\n`,_jsx(Heading,{level:`2`,id:`pratinjau-rilis-sdk-native`,children:`Pratinjau rilis SDK native`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(Heading,{level:`2`,id:`hubungkan-verifikasi-dan-pemantauan`,children:`Hubungkan verifikasi dan pemantauan`}),`\n`,_jsxs(_components.p,{children:[`Backend Anda memperoleh `,_jsx(_components.code,{children:`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.`]}),`\n`,_jsxs(_components.p,{children:[`Gunakan `,_jsx(_components.a,{href:`/id/integration/native-sdks/flutter-sdk`,children:`SDK verifikasi Flutter`}),` saat Anda membutuhkan Verifikasi Identitas. Ikuti `,_jsx(_components.a,{href:`/id/transaction-monitoring/sdk-transaction-submission`,children:`pengiriman transaksi melalui SDK`}),` untuk dukungan pemantauan di platform Anda. Perlakukan keputusan sign-in, verifikasi, dan transaksi secara terpisah.`]}),`\n`,_jsx(Heading,{level:`2`,id:`verifikasi-integrasi`,children:`Verifikasi integrasi`}),`\n`,_jsx(_components.p,{children:`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.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Autentikasi Flutter dengan Didit: Panduan Cepat","description":"Siapkan autentikasi Flutter dengan Didit: login hosted, validasi URL callback, sesi aman, serta tautan ke verifikasi identitas dan pemantauan berkelanjutan.","href":"/id/authentication/quickstarts/flutter"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Siapkan aplikasi","slug":"siapkan-aplikasi","depth":2,"children":[]},{"title":"Implementasikan alur yang di-hosting","slug":"implementasikan-alur-yang-di-hosting","depth":2,"children":[]},{"title":"Pratinjau rilis SDK native","slug":"pratinjau-rilis-sdk-native","depth":2,"children":[]},{"title":"Hubungkan verifikasi dan pemantauan","slug":"hubungkan-verifikasi-dan-pemantauan","depth":2,"children":[]},{"title":"Verifikasi integrasi","slug":"verifikasi-integrasi","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/didit-0f962782/5fb7c0c336c92274/snippets/data/database-validation-coverage.js","/_mintlify/custom/didit-0f962782/4ac7d3c2a19a354d/database-validation-playground.js"],"subdomain":"didit-0f962782","siteName":"Didit Docs","title":"Autentikasi Flutter dengan Didit: Panduan Cepat - Didit Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/authentication/quickstarts/flutter","matchLevel":1},"es":{"href":"/es/authentication/quickstarts/flutter","matchLevel":1},"pt-BR":{"href":"/pt-br/authentication/quickstarts/flutter","matchLevel":1},"ja":{"href":"/ja/authentication/quickstarts/flutter","matchLevel":1},"de":{"href":"/de/authentication/quickstarts/flutter","matchLevel":1},"fr":{"href":"/fr/authentication/quickstarts/flutter","matchLevel":1},"it":{"href":"/it/authentication/quickstarts/flutter","matchLevel":1},"pt":{"href":"/pt/authentication/quickstarts/flutter","matchLevel":1},"ca":{"href":"/ca/authentication/quickstarts/flutter","matchLevel":1},"id":{"href":"/id/authentication/quickstarts/flutter","matchLevel":0},"ru":{"href":"/ru/authentication/quickstarts/flutter","matchLevel":1},"ko":{"href":"/ko/authentication/quickstarts/flutter","matchLevel":1},"zh":{"href":"/zh/authentication/quickstarts/flutter","matchLevel":1},"ar":{"href":"/ar/authentication/quickstarts/flutter","matchLevel":1},"hi":{"href":"/hi/authentication/quickstarts/flutter","matchLevel":1}}},"lastModified":"2026-11-07T17:37:31.728Z","gitLastModified":"2026-11-07T17:24:04.000Z","originalFileLocation":"id/authentication/quickstarts/flutter.mdx","locale":"id"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Siapkan autentikasi Flutter dengan Didit: login hosted, validasi URL callback, sesi aman, serta tautan ke verifikasi identitas dan pemantauan berkelanjutan.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Didit Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Autentikasi Flutter dengan Didit: Panduan Cepat - Didit Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Siapkan autentikasi Flutter dengan Didit: login hosted, validasi URL callback, sesi aman, serta tautan ke verifikasi identitas dan pemantauan berkelanjutan.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Didit Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.didit.me/id/authentication/quickstarts/flutter\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://didit-0f962782.mintlify.site/_mintlify/api/og/v2?division=Panduan+Cepat\u0026amp;title=Autentikasi+Flutter+dengan+Didit%3A+Panduan+Cepat\u0026amp;description=Siapkan+autentikasi+Flutter+dengan+Didit%3A+login+hosted%2C+validasi+URL+callback%2C+sesi+aman%2C+serta+tautan+ke+verifikasi+identitas+dan+pemantauan+berkelanjutan.\u0026amp;theme=f6d5c5eb819d99f700ee852a\u0026amp;signature=a1a0adb34c6c56ab149957a5a0e7376f0786a7e39127aa1a3e7ef2dd7a8ab17e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Autentikasi Flutter dengan Didit: Panduan Cepat - Didit Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Siapkan autentikasi Flutter dengan Didit: login hosted, validasi URL callback, sesi aman, serta tautan ke verifikasi identitas dan pemantauan berkelanjutan.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://didit-0f962782.mintlify.site/_mintlify/api/og/v2?division=Panduan+Cepat\u0026amp;title=Autentikasi+Flutter+dengan+Didit%3A+Panduan+Cepat\u0026amp;description=Siapkan+autentikasi+Flutter+dengan+Didit%3A+login+hosted%2C+validasi+URL+callback%2C+sesi+aman%2C+serta+tautan+ke+verifikasi+identitas+dan+pemantauan+berkelanjutan.\u0026amp;theme=f6d5c5eb819d99f700ee852a\u0026amp;signature=a1a0adb34c6c56ab149957a5a0e7376f0786a7e39127aa1a3e7ef2dd7a8ab17e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Didit Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2567FF\">\u003cmeta data-mint-head name=\"theme-color\" content=\"#2567FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.didit.me/id/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/id/authentication/quickstarts/flutter.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"id\" href=\"https://docs.didit.me/id/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.didit.me/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.didit.me/es/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.didit.me/pt-br/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.didit.me/ja/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.didit.me/de/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.didit.me/fr/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"it\" href=\"https://docs.didit.me/it/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt\" href=\"https://docs.didit.me/pt/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ca\" href=\"https://docs.didit.me/ca/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ru\" href=\"https://docs.didit.me/ru/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.didit.me/ko/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.didit.me/zh/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://docs.didit.me/ar/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"hi\" href=\"https://docs.didit.me/hi/authentication/quickstarts/flutter\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.didit.me/authentication/quickstarts/flutter\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://didit.me/#organization\",\"name\":\"Didit\",\"legalName\":\"Didit Protocol\",\"url\":\"https://didit.me\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://didit.me/logos/primary-horizontal-light.png\"},\"sameAs\":[\"https://www.linkedin.com/company/91001155\",\"https://www.youtube.com/@getdidit\",\"https://github.com/didit-protocol\",\"https://x.com/didit\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.didit.me#website\",\"name\":\"Didit Docs\",\"url\":\"https://docs.didit.me\",\"publisher\":{\"@id\":\"https://didit.me/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.didit.me/id/authentication/quickstarts/flutter#webpage\",\"url\":\"https://docs.didit.me/id/authentication/quickstarts/flutter\",\"name\":\"Autentikasi Flutter dengan Didit: Panduan Cepat\",\"description\":\"Siapkan autentikasi Flutter dengan Didit: login hosted, validasi URL callback, sesi aman, serta tautan ke verifikasi identitas dan pemantauan berkelanjutan.\",\"dateModified\":\"2026-11-07T17:24:04.000Z\",\"isPartOf\":{\"@id\":\"https://docs.didit.me#website\"},\"breadcrumb\":{\"@id\":\"https://docs.didit.me/id/authentication/quickstarts/flutter#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.didit.me/id/authentication/quickstarts/flutter#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Autentikasi\",\"item\":\"https://docs.didit.me/id/authentication/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Panduan Cepat\",\"item\":\"https://docs.didit.me/id/authentication/quickstarts/javascript\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Autentikasi Flutter dengan Didit: Panduan Cepat\",\"item\":\"https://docs.didit.me/id/authentication/quickstarts/flutter\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.didit.me/id/authentication/quickstarts/flutter#article\",\"headline\":\"Autentikasi Flutter dengan Didit: Panduan Cepat\",\"name\":\"Autentikasi Flutter dengan Didit: Panduan Cepat\",\"description\":\"Siapkan autentikasi Flutter dengan Didit: login hosted, validasi URL callback, sesi aman, serta tautan ke verifikasi identitas dan pemantauan berkelanjutan.\",\"url\":\"https://docs.didit.me/id/authentication/quickstarts/flutter\",\"mainEntityOfPage\":{\"@id\":\"https://docs.didit.me/id/authentication/quickstarts/flutter#webpage\"},\"dateModified\":\"2026-11-07T17:24:04.000Z\",\"publisher\":{\"@id\":\"https://didit.me/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.didit.me#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Didit Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Didit Docs","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/authentication/quickstarts/flutter"}]},{"language":"es","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Soporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sesión","href":"https://business.didit.me"}},"pages":[{"title":"es","href":"/es/authentication/quickstarts/flutter"}]},{"language":"pt-BR","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Entrar","href":"https://business.didit.me"}},"pages":[{"title":"pt-BR","href":"/pt-br/authentication/quickstarts/flutter"}]},{"language":"ja","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"サポート"},{"icon":"signal","href":"https://status.didit.me","label":"ステータス"}],"primary":{"type":"button","label":"サインイン","href":"https://business.didit.me"}},"pages":[{"title":"ja","href":"/ja/authentication/quickstarts/flutter"}]},{"language":"de","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Support"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Anmelden","href":"https://business.didit.me"}},"pages":[{"title":"de","href":"/de/authentication/quickstarts/flutter"}]},{"language":"fr","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Assistance"},{"icon":"signal","href":"https://status.didit.me","label":"Statut"}],"primary":{"type":"button","label":"Se connecter","href":"https://business.didit.me"}},"pages":[{"title":"fr","href":"/fr/authentication/quickstarts/flutter"}]},{"language":"it","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Supporto"},{"icon":"signal","href":"https://status.didit.me","label":"Stato"}],"primary":{"type":"button","label":"Accedi","href":"https://business.didit.me"}},"pages":[{"title":"it","href":"/it/authentication/quickstarts/flutter"}]},{"language":"pt","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sessão","href":"https://business.didit.me"}},"pages":[{"title":"pt","href":"/pt/authentication/quickstarts/flutter"}]},{"language":"ca","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suport"},{"icon":"signal","href":"https://status.didit.me","label":"Estat"}],"primary":{"type":"button","label":"Inicia la sessió","href":"https://business.didit.me"}},"pages":[{"title":"ca","href":"/ca/authentication/quickstarts/flutter"}]},{"language":"id","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Dukungan"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Masuk","href":"https://business.didit.me"}},"tabs":[{"tab":"Mulai","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/rocket.svg","pages":[{"title":"Mulai","href":"/id"}]},{"tab":"Integrasi / SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","groups":[{"group":"Panduan","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/book.svg","pages":[{"title":"SDK \u0026 Integrasi Didit: Web, Mobile \u0026 Zapier","sidebarTitle":"SDK \u0026 Integrasi","href":"/id/integration/sdks"},{"title":"Integrasi API Verifikasi Identitas: Panduan Alur Lengkap","sidebarTitle":"Alur Lengkap API","href":"/id/integration/api-full-flow"},{"title":"Webhook: Event KYC \u0026 KYB Real-Time, Tanda Tangan HMAC","sidebarTitle":"Webhook","href":"/id/integration/webhooks"},{"title":"Webhook Alert Tim: Kirim Notifikasi ke Endpoint Anda","sidebarTitle":"Webhook alert","href":"/id/integration/alert-webhooks"},{"title":"Status Verifikasi Didit: Siklus Hidup Sesi \u0026 Kode","sidebarTitle":"Status Verifikasi","href":"/id/integration/verification-statuses"},{"title":"Kode Error API Didit: Status, Body dan Perbaikan","sidebarTitle":"Error API","href":"/id/integration/api-errors"},{"title":"Batas Laju API Didit: Limit, Header \u0026 Backoff 429","sidebarTitle":"Batas Laju","href":"/id/integration/rate-limiting"},{"title":"Data Uji Sandbox Didit: Skenario, Nilai Ajaib \u0026 Dokumen","sidebarTitle":"Sandbox \u0026 Data Uji","href":"/id/integration/sandbox-testing"},{"title":"Pendaftaran Programatik: API KYC untuk Agen AI","sidebarTitle":"Pendaftaran Programatik","href":"/id/integration/programmatic-registration"},{"title":"Prompt integrasi tiga produk Didit","sidebarTitle":"Prompt integrasi","href":"/id/integration/integration-prompt"}]},{"group":"Autentikasi","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","pages":[{"title":"Autentikasi Pengguna Akhir: Masuk, Passkey, dan Sesi","sidebarTitle":"Autentikasi","href":"/id/authentication/overview"},{"group":"Panduan Cepat","pages":[{"title":"Panduan Cepat Autentikasi JavaScript","href":"/id/authentication/quickstarts/javascript"},{"title":"Autentikasi React: Panduan Cepat","href":"/id/authentication/quickstarts/react"},{"title":"Autentikasi Next.js: Panduan Cepat","href":"/id/authentication/quickstarts/nextjs"},{"title":"Autentikasi iOS: Panduan Cepat","href":"/id/authentication/quickstarts/ios"},{"title":"Autentikasi Android: Panduan Cepat","href":"/id/authentication/quickstarts/android"},{"title":"Mulai Cepat React Native Didit","description":"Siapkan autentikasi React Native dengan Didit: login yang di-hosting, validasi callback, sesi aman, dan tautan ke verifikasi serta pemantauan.","href":"/id/authentication/quickstarts/react-native"},{"title":"Autentikasi Flutter dengan Didit: Panduan Cepat","href":"/id/authentication/quickstarts/flutter"}]},{"title":"Metode Login: Passkey, Kode, Sosial, SSO","sidebarTitle":"Metode login","description":"Atur metode login Didit: kata sandi, kode email, magic link, kode telepon, passkey, login sosial, SSO organisasi, Didit ID Wallet, MFA, reset sandi.","href":"/id/authentication/sign-in-methods"},{"title":"Verifikasi JWT Autentikasi Didit: Token dan JWKS","sidebarTitle":"Token dan JWKS","href":"/id/authentication/tokens-and-jwks"},{"title":"Event Autentikasi dan Webhook","sidebarTitle":"Event dan webhook","href":"/id/authentication/events-and-webhooks"},{"title":"Impor Pengguna: Migrasi Kata Sandi dan MFA","sidebarTitle":"Migrasi pengguna","href":"/id/authentication/migration"},{"title":"Proteksi Bot saat Sign-In: Stuffing, Brute Force","sidebarTitle":"Proteksi bot","href":"/id/authentication/bot-protection"},{"group":"Referensi API","pages":[{"title":"Konfigurasi OpenID Didit | Didit Authentication API","sidebarTitle":"Konfigurasi OpenID","openapi":"id/openapi-authentication.json GET /.well-known/openid-configuration","href":"/id/authentication/api-reference/get-openid-configuration"},{"title":"Kunci Penandatanganan JWKS | Didit Authentication API","sidebarTitle":"Kunci penandatanganan (JWKS)","openapi":"id/openapi-authentication.json GET /.well-known/jwks.json","href":"/id/authentication/api-reference/get-jwks"},{"title":"Token Endpoint: Tukar Kode dan Refresh Token | Didit","sidebarTitle":"Tukar atau perbarui token","openapi":"id/openapi-authentication.json POST /token/","href":"/id/authentication/api-reference/token"},{"title":"Cek Sesi GET /session/ | Didit Authentication API","sidebarTitle":"Cek sesi","openapi":"id/openapi-authentication.json GET /session/","href":"/id/authentication/api-reference/get-session"},{"title":"Cabut Sesi (Keluar) | API Autentikasi Didit","sidebarTitle":"Cabut sesi","openapi":"id/openapi-authentication.json DELETE /session/","href":"/id/authentication/api-reference/revoke-session"},{"title":"Buat Step-Up Autentikasi | Didit Authentication API","sidebarTitle":"Buat step-up","openapi":"id/openapi-authentication.json POST /step-up/","href":"/id/authentication/api-reference/create-step-up"},{"title":"Status Step-Up | Didit Authentication API","sidebarTitle":"Ambil status step-up","openapi":"id/openapi-authentication.json GET /step-up/{step_up_id}/","href":"/id/authentication/api-reference/retrieve-step-up"},{"title":"Buat Token Pemantauan | Didit Authentication API","sidebarTitle":"Buat token pemantauan","openapi":"id/openapi-authentication.json POST /monitoring-token/","href":"/id/authentication/api-reference/create-monitoring-token"}]}]},{"group":"Model Context Protocol (MCP)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","pages":[{"title":"Server MCP Didit: Verifikasi Identitas untuk Agen AI","sidebarTitle":"Ikhtisar","href":"/id/integration/mcp/overview"},{"title":"Hubungkan Claude ke Server MCP Didit","sidebarTitle":"Hubungkan Claude","href":"/id/integration/mcp/claude"},{"title":"Instalasi MCP Didit: Claude, Cursor, VS Code, Windsurf","sidebarTitle":"Instalasi","href":"/id/integration/mcp/installation"},{"title":"Autentikasi MCP Didit: Masuk dengan Didit (OAuth)","sidebarTitle":"Autentikasi","href":"/id/integration/mcp/authentication"},{"title":"Referensi Tool MCP Didit: 169 Tool Identitas","sidebarTitle":"Tool","href":"/id/integration/mcp/tools"},{"title":"Contoh Didit MCP: Prompt \u0026 Percakapan Agen","sidebarTitle":"Contoh","href":"/id/integration/mcp/examples"},{"title":"Didit MCP Lanjutan: Peran, Troubleshooting \u0026 Self-Hosting","sidebarTitle":"Lanjutan","href":"/id/integration/mcp/advanced"}]},{"group":"SDK Web","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/browser.svg","pages":[{"title":"SDK Verifikasi Identitas Web: JS \u0026 Iframe","sidebarTitle":"SDK Web","href":"/id/integration/web-sdks/overview"},{"title":"SDK Verifikasi Identitas JavaScript: KYC Web","sidebarTitle":"SDK JavaScript","href":"/id/integration/web-sdks/javascript-sdk"},{"title":"Redirect KYC Web: Halaman Verifikasi yang Di-hosting","sidebarTitle":"Web Redirect","href":"/id/integration/web-sdks/web-redirect"},{"title":"Verifikasi Identitas Iframe: KYC Web Tertanam","sidebarTitle":"InContext (Iframe)","href":"/id/integration/web-sdks/incontext-iframe"},{"title":"Verifikasi Identitas WebView untuk Mobile","sidebarTitle":"Integrasi WebView","href":"/id/integration/web-sdks/webview-in-ios-android"}]},{"group":"SDK Native","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/mobile.svg","pages":[{"title":"SDK KYC Mobile untuk iOS, Android, RN, Flutter","sidebarTitle":"SDK Native","href":"/id/integration/native-sdks/overview"},{"title":"SDK KYC iOS Swift untuk Verifikasi Identitas","sidebarTitle":"SDK iOS","href":"/id/integration/native-sdks/ios-sdk"},{"title":"SDK Verifikasi Identitas Android Kotlin: KYC","sidebarTitle":"SDK Android","href":"/id/integration/native-sdks/android-sdk"},{"title":"SDK KYC React Native: Verifikasi Identitas Mobile","sidebarTitle":"SDK React Native","href":"/id/integration/native-sdks/react-native-sdk"},{"title":"SDK KYC Flutter: Verifikasi Identitas Dart Mobile","sidebarTitle":"SDK Flutter","href":"/id/integration/native-sdks/flutter-sdk"}]},{"group":"SDK Server","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","pages":[{"title":"SDK Server: Python, Node.js, Go, Java, PHP, Ruby, .NET","sidebarTitle":"Ringkasan","href":"/id/integration/server-sdks/overview"},{"title":"SDK Python Didit untuk KYC, AML, dan Transaksi","sidebarTitle":"Python","href":"/id/integration/server-sdks/python"},{"title":"SDK Node.js dan TypeScript untuk KYC dan AML","sidebarTitle":"Node.js","href":"/id/integration/server-sdks/node"},{"title":"SDK Go Didit untuk KYC, AML, dan Transaksi","sidebarTitle":"Go","href":"/id/integration/server-sdks/go"},{"title":"SDK Java dan Kotlin Didit untuk KYC, AML, dan Transaksi","sidebarTitle":"Java","href":"/id/integration/server-sdks/java"},{"title":"SDK PHP Didit untuk KYC, AML, dan Transaksi","sidebarTitle":"PHP","href":"/id/integration/server-sdks/php"},{"title":"SDK Ruby Didit untuk KYC, AML, dan Transaksi","sidebarTitle":"Ruby","href":"/id/integration/server-sdks/ruby"},{"title":"SDK C# dan .NET Didit untuk KYC, AML, dan Transaksi","sidebarTitle":".NET","href":"/id/integration/server-sdks/dotnet"}]},{"group":"Integrasi","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/puzzle.svg","pages":[{"title":"KYC Tanpa Kode: Engine Otomatisasi Identitas Zapier","sidebarTitle":"Integrasi Tanpa Kode","href":"/id/integration/engines/overview"},{"title":"Verifikasi Identitas Zapier: Otomatisasi KYC","sidebarTitle":"Zapier","href":"/id/integration/engines/zapier"},{"title":"Verifikasi Identitas Okta \u0026 Auth0","href":"/id/integration/engines/okta-auth0-idv"},{"title":"Plugin KYC WordPress: Cek Usia WooCommerce","sidebarTitle":"WordPress + WooCommerce","href":"/id/integration/web-sdks/wordpress-woocommerce"},{"title":"Aplikasi KYC Shopify - Verifikasi Identitas \u0026 Usia","sidebarTitle":"Shopify","href":"/id/integration/web-sdks/shopify"},{"title":"Aplikasi Verifikasi Identitas Salesforce: KYC \u0026 KYB","sidebarTitle":"Salesforce","href":"/id/integration/web-sdks/salesforce"}]}]},{"tab":"Referensi API","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","pages":[{"title":"Referensi API","href":"/id/api-reference/overview"}]},{"tab":"Verifikasi Pengguna","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/user-verifications.svg","pages":[{"title":"Verifikasi Pengguna","href":"/id/core-technology/liveness/overview"}]},{"tab":"Verifikasi Bisnis","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/business-verifications.svg","pages":[{"title":"Verifikasi Bisnis","href":"/id/business-verification/overview"}]},{"tab":"Pemantauan Transaksi","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"Pemantauan Transaksi","href":"/id/transaction-monitoring/overview"}]},{"tab":"Log Perubahan","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/calendar.svg","pages":[{"title":"Log Perubahan","href":"/id/changelog"}]}],"global":{"anchors":[{"anchor":"Referensi API","icon":"code","href":"/id/api-reference/overview"},{"anchor":"Konsol Bisnis","icon":"gauge","href":"https://business.didit.me"},{"anchor":"Spesifikasi OpenAPI","icon":"file-code","href":"https://docs.didit.me/id/openapi-25.json"},{"anchor":"Prompt Integrasi","icon":"wand-magic-sparkles","href":"/id/integration/integration-prompt"},{"anchor":"Server MCP","icon":"plug","href":"/id/integration/mcp/overview"},{"anchor":"Keterampilan Agen","icon":"robot","href":"https://github.com/didit-protocol/skills"}]}},{"language":"ru","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Поддержка"},{"icon":"signal","href":"https://status.didit.me","label":"Статус"}],"primary":{"type":"button","label":"Вход","href":"https://business.didit.me"}},"pages":[{"title":"ru","href":"/ru/authentication/quickstarts/flutter"}]},{"language":"ko","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"지원"},{"icon":"signal","href":"https://status.didit.me","label":"상태"}],"primary":{"type":"button","label":"로그인","href":"https://business.didit.me"}},"pages":[{"title":"ko","href":"/ko/authentication/quickstarts/flutter"}]},{"language":"zh","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"支持"},{"icon":"signal","href":"https://status.didit.me","label":"状态"}],"primary":{"type":"button","label":"登录","href":"https://business.didit.me"}},"pages":[{"title":"zh","href":"/zh/authentication/quickstarts/flutter"}]},{"language":"ar","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"الدعم"},{"icon":"signal","href":"https://status.didit.me","label":"الحالة"}],"primary":{"type":"button","label":"تسجيل الدخول","href":"https://business.didit.me"}},"pages":[{"title":"ar","href":"/ar/authentication/quickstarts/flutter"}]},{"language":"hi","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"सहायता"},{"icon":"signal","href":"https://status.didit.me","label":"स्थिति"}],"primary":{"type":"button","label":"साइन इन करें","href":"https://business.didit.me"}},"pages":[{"title":"hi","href":"/hi/authentication/quickstarts/flutter"}]}]},"basePath":"","title":"Autentikasi Flutter dengan Didit: Panduan Cepat - Didit Docs","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":[],"chunks":[]}