Didit 호스팅 로그인, 콜백 검증, 보안 세션을 Flutter 앱에 설정하고 인증 및 모니터링 링크를 연결하는 방법을 안내합니다.
Authentication는 새로운 기능이며 didit_auth는 릴리스에 따라 달라집니다. 배포 좌표, 버전 및 호출 가능한 시그니처는 여기에서 확인되지 않습니다. 추측으로 패키지를 설치하지 마시고, Identity verification SDK를 Authentication SDK처럼 사용하지 마십시오.
{origin}/sign-in URL로 네이티브 시스템 인증 브라우저를 엽니다. 매번 새로운 무작위 state, S256 PKCE 챌린지, 등록된 redirect_uri를 함께 전달합니다. 검증자(verifier)는 해당 인증 시도 동안에만 앱에 보관합니다. JavaScript 빠른 시작에서 기본 프로토콜을 확인할 수 있으며, 네이티브 코드에서는 브라우저 전역 객체 대신 플랫폼의 암호화 기능과 URL 처리를 사용하십시오.콜백을 받으면 token/에서 일회용 코드를 교환하기 전에 state, 트랜잭션 유효 기간, 콜백 대상을 검증합니다. 원래의 검증자와 정확한 리다이렉트 URI를 사용합니다. 브라우저를 취소하거나 닫는 것은 로그인 성공이 아닙니다.리프레시 토큰은 플랫폼에서 보호되는 네이티브 저장소에만 저장하십시오. 평문 환경설정 파일, 분석 도구 또는 크래시 로그에는 절대 저장하지 마십시오. 최종 사용자의 Bearer 토큰으로 GET session/을 호출해 현재 세션을 검증합니다. 리프레시는 직렬화하여 처리하고, 두 토큰을 함께 교체합니다. 로그아웃 후에는 사용자별 상태를 삭제합니다. 요청 계약과 리프레시 재사용 동작은 토큰 및 JWKS를 참고하십시오.
네이티브 Authentication 모듈은 자동 기기 신호와 함께 로그인, 현재 세션 조회, 토큰 가져오기, 로그아웃, 추가 인증을 제공할 예정입니다. 네이티브 패스키와 보호된 토큰 저장소도 해당 릴리스에 포함됩니다. 래퍼 API는 공개된 플랫폼 계약을 따르며, 설계 예시에 있는 추측된 생성자 인수나 메서드 시그니처를 복사하지 마십시오.모듈이 출시되기 전까지는 해당 어댑터를 비활성화된 상태로 두거나, 활성화된 애플리케이션에 대해 검토를 마친 호스팅 프로토콜 구현을 사용하십시오. 패키지 설치만으로 네이티브 Authentication 빠른 시작이 동작한다고 홍보하지 마십시오.
백엔드가 인증된 사용자로부터 vendor_data를 도출합니다. 그 사용자를 위해 검증 세션을 생성하거나 범위가 지정된 모니터링 토큰을 발급합니다. 앱에는 세션 자격 증명이나 범위가 지정된 토큰만 반환하며, API 키는 서버에만 보관합니다.신분증 인증이 필요하면 Flutter 검증 SDK를 사용합니다. 플랫폼에서 모니터링을 지원하려면 SDK 거래 제출을 따르십시오. 로그인, 검증, 거래에 대한 결정은 각각 별도로 처리합니다.
콜드 스타트 후 앱으로 돌아오기, 백그라운드 및 포그라운드 전환, 브라우저 취소, 일치하지 않는 콜백, 코드 재사용, 토큰 만료, 동시 리프레시, MFA, 로그아웃, 다른 사용자로 로그인하기를 테스트합니다. 패스키 등록과 로그인은 해당 릴리스가 제공된 후 지원되는 기기에서 테스트하십시오. 기기 전용 검사는 대상 플랫폼에서 실행될 때까지 검증되지 않은 상태로 남습니다.
마지막 수정일 2026년 11월 7일
{"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":"ko/authentication/quickstarts/flutter","slug":"/ko/authentication/quickstarts/flutter","pageMetadata":{"title":"Flutter 인증 빠른 시작","description":"Didit 호스팅 로그인, 콜백 검증, 보안 세션을 Flutter 앱에 설정하고 인증 및 모니터링 링크를 연결하는 방법을 안내합니다.","href":"/ko/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: \"Didit 호스팅 로그인, 콜백 검증, 보안 세션을 Flutter 앱에 설정하고 인증 및 모니터링 링크를 연결하는 방법을 안내합니다.\"\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는 새로운 기능이며 `,_jsx(_components.strong,{children:`didit_auth`}),`는 릴리스에 따라 달라집니다. 배포 좌표, 버전 및 호출 가능한 시그니처는 여기에서 확인되지 않습니다. 추측으로 패키지를 설치하지 마시고, Identity verification SDK를 Authentication SDK처럼 사용하지 마십시오.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`애플리케이션-준비`,children:`애플리케이션 준비`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Didit 애플리케이션에서 Authentication이 활성화되어 있는지 확인하고, 콘솔에서 로그인 오리진(`,_jsx(_components.code,{children:`https://\u003cslug>.auth.didit.me`}),`, 샌드박스의 경우 `,_jsx(_components.code,{children:`\u003cslug>.sandbox.auth.didit.me`}),`)를 복사합니다.`]}),`\n`,_jsx(_components.li,{children:`애플리케이션과 런타임이 지원하는 정확한 콜백 URL을 등록합니다. 앱 링크의 소유권을 검증하고, 임의의 커스텀 URL 스킴이 허용된다고 가정하지 마십시오.`}),`\n`,_jsx(_components.li,{children:`샌드박스와 프로덕션 환경의 구성을 분리해 유지합니다. 여기에는 콜백 처리와 저장된 자격 증명도 포함됩니다.`}),`\n`,_jsx(_components.li,{children:`검증 또는 모니터링을 연결하기 전에 안정적인 사용자 매핑 방식을 선택합니다.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`iOS와 Android에서 콜백 링크를 각각 따로 구성하고 테스트합니다. Authentication 래퍼는 신분증 인증을 담당하는 didit_sdk와 별개입니다.`}),`\n`,_jsx(Heading,{level:`2`,id:`호스팅-흐름-구현`,children:`호스팅 흐름 구현`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`{origin}/sign-in`}),` URL로 네이티브 시스템 인증 브라우저를 엽니다. 매번 새로운 무작위 `,_jsx(_components.code,{children:`state`}),`, S256 PKCE 챌린지, 등록된 `,_jsx(_components.code,{children:`redirect_uri`}),`를 함께 전달합니다. 검증자(verifier)는 해당 인증 시도 동안에만 앱에 보관합니다. `,_jsx(_components.a,{href:`/ko/authentication/quickstarts/javascript`,children:`JavaScript 빠른 시작`}),`에서 기본 프로토콜을 확인할 수 있으며, 네이티브 코드에서는 브라우저 전역 객체 대신 플랫폼의 암호화 기능과 URL 처리를 사용하십시오.`]}),`\n`,_jsxs(_components.p,{children:[`콜백을 받으면 `,_jsx(_components.code,{children:`token/`}),`에서 일회용 코드를 교환하기 전에 state, 트랜잭션 유효 기간, 콜백 대상을 검증합니다. 원래의 검증자와 정확한 리다이렉트 URI를 사용합니다. 브라우저를 취소하거나 닫는 것은 로그인 성공이 아닙니다.`]}),`\n`,_jsxs(_components.p,{children:[`리프레시 토큰은 플랫폼에서 보호되는 네이티브 저장소에만 저장하십시오. 평문 환경설정 파일, 분석 도구 또는 크래시 로그에는 절대 저장하지 마십시오. 최종 사용자의 Bearer 토큰으로 `,_jsx(_components.code,{children:`GET session/`}),`을 호출해 현재 세션을 검증합니다. 리프레시는 직렬화하여 처리하고, 두 토큰을 함께 교체합니다. 로그아웃 후에는 사용자별 상태를 삭제합니다. 요청 계약과 리프레시 재사용 동작은 `,_jsx(_components.a,{href:`/ko/authentication/tokens-and-jwks`,children:`토큰 및 JWKS`}),`를 참고하십시오.`]}),`\n`,_jsx(Heading,{level:`2`,id:`네이티브-sdk-릴리스-미리보기`,children:`네이티브 SDK 릴리스 미리보기`}),`\n`,_jsx(_components.p,{children:`네이티브 Authentication 모듈은 자동 기기 신호와 함께 로그인, 현재 세션 조회, 토큰 가져오기, 로그아웃, 추가 인증을 제공할 예정입니다. 네이티브 패스키와 보호된 토큰 저장소도 해당 릴리스에 포함됩니다. 래퍼 API는 공개된 플랫폼 계약을 따르며, 설계 예시에 있는 추측된 생성자 인수나 메서드 시그니처를 복사하지 마십시오.`}),`\n`,_jsx(_components.p,{children:`모듈이 출시되기 전까지는 해당 어댑터를 비활성화된 상태로 두거나, 활성화된 애플리케이션에 대해 검토를 마친 호스팅 프로토콜 구현을 사용하십시오. 패키지 설치만으로 네이티브 Authentication 빠른 시작이 동작한다고 홍보하지 마십시오.`}),`\n`,_jsx(Heading,{level:`2`,id:`검증-및-모니터링-연결`,children:`검증 및 모니터링 연결`}),`\n`,_jsxs(_components.p,{children:[`백엔드가 인증된 사용자로부터 `,_jsx(_components.code,{children:`vendor_data`}),`를 도출합니다. 그 사용자를 위해 검증 세션을 생성하거나 범위가 지정된 모니터링 토큰을 발급합니다. 앱에는 세션 자격 증명이나 범위가 지정된 토큰만 반환하며, API 키는 서버에만 보관합니다.`]}),`\n`,_jsxs(_components.p,{children:[`신분증 인증이 필요하면 `,_jsx(_components.a,{href:`/ko/integration/native-sdks/flutter-sdk`,children:`Flutter 검증 SDK`}),`를 사용합니다. 플랫폼에서 모니터링을 지원하려면 `,_jsx(_components.a,{href:`/ko/transaction-monitoring/sdk-transaction-submission`,children:`SDK 거래 제출`}),`을 따르십시오. 로그인, 검증, 거래에 대한 결정은 각각 별도로 처리합니다.`]}),`\n`,_jsx(Heading,{level:`2`,id:`통합-검증`,children:`통합 검증`}),`\n`,_jsx(_components.p,{children:`콜드 스타트 후 앱으로 돌아오기, 백그라운드 및 포그라운드 전환, 브라우저 취소, 일치하지 않는 콜백, 코드 재사용, 토큰 만료, 동시 리프레시, MFA, 로그아웃, 다른 사용자로 로그인하기를 테스트합니다. 패스키 등록과 로그인은 해당 릴리스가 제공된 후 지원되는 기기에서 테스트하십시오. 기기 전용 검사는 대상 플랫폼에서 실행될 때까지 검증되지 않은 상태로 남습니다.`})]})}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":"Flutter 인증 빠른 시작","description":"Didit 호스팅 로그인, 콜백 검증, 보안 세션을 Flutter 앱에 설정하고 인증 및 모니터링 링크를 연결하는 방법을 안내합니다.","href":"/ko/authentication/quickstarts/flutter"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"애플리케이션 준비","slug":"애플리케이션-준비","depth":2,"children":[]},{"title":"호스팅 흐름 구현","slug":"호스팅-흐름-구현","depth":2,"children":[]},{"title":"네이티브 SDK 릴리스 미리보기","slug":"네이티브-sdk-릴리스-미리보기","depth":2,"children":[]},{"title":"검증 및 모니터링 연결","slug":"검증-및-모니터링-연결","depth":2,"children":[]},{"title":"통합 검증","slug":"통합-검증","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":"Flutter 인증 빠른 시작 - 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":1},"ru":{"href":"/ru/authentication/quickstarts/flutter","matchLevel":1},"ko":{"href":"/ko/authentication/quickstarts/flutter","matchLevel":0},"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:12.081Z","gitLastModified":"2026-11-07T17:24:04.000Z","originalFileLocation":"ko/authentication/quickstarts/flutter.mdx","locale":"ko"},"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=\"Didit 호스팅 로그인, 콜백 검증, 보안 세션을 Flutter 앱에 설정하고 인증 및 모니터링 링크를 연결하는 방법을 안내합니다.\">\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=\"Flutter 인증 빠른 시작 - Didit Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Didit 호스팅 로그인, 콜백 검증, 보안 세션을 Flutter 앱에 설정하고 인증 및 모니터링 링크를 연결하는 방법을 안내합니다.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Didit Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.didit.me/ko/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=%EB%B9%A0%EB%A5%B8+%EC%8B%9C%EC%9E%91\u0026amp;title=Flutter+%EC%9D%B8%EC%A6%9D+%EB%B9%A0%EB%A5%B8+%EC%8B%9C%EC%9E%91\u0026amp;description=Didit+%ED%98%B8%EC%8A%A4%ED%8C%85+%EB%A1%9C%EA%B7%B8%EC%9D%B8%2C+%EC%BD%9C%EB%B0%B1+%EA%B2%80%EC%A6%9D%2C+%EB%B3%B4%EC%95%88+%EC%84%B8%EC%85%98%EC%9D%84+Flutter+%EC%95%B1%EC%97%90+%EC%84%A4%EC%A0%95%ED%95%98%EA%B3%A0+%EC%9D%B8%EC%A6%9D+%EB%B0%8F+%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81+%EB%A7%81%ED%81%AC%EB%A5%BC+%EC%97%B0%EA%B2%B0%ED%95%98%EB%8A%94+%EB%B0%A9%EB%B2%95%EC%9D%84+%EC%95%88%EB%82%B4%ED%95%A9%EB%8B%88%EB%8B%A4.\u0026amp;theme=f6d5c5eb819d99f700ee852a\u0026amp;signature=e8fcab6c9fec72ee928f0d9826f663d0d3920e5808e2b09ab421f3f4ddb8a5c3\">\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=\"Flutter 인증 빠른 시작 - Didit Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Didit 호스팅 로그인, 콜백 검증, 보안 세션을 Flutter 앱에 설정하고 인증 및 모니터링 링크를 연결하는 방법을 안내합니다.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://didit-0f962782.mintlify.site/_mintlify/api/og/v2?division=%EB%B9%A0%EB%A5%B8+%EC%8B%9C%EC%9E%91\u0026amp;title=Flutter+%EC%9D%B8%EC%A6%9D+%EB%B9%A0%EB%A5%B8+%EC%8B%9C%EC%9E%91\u0026amp;description=Didit+%ED%98%B8%EC%8A%A4%ED%8C%85+%EB%A1%9C%EA%B7%B8%EC%9D%B8%2C+%EC%BD%9C%EB%B0%B1+%EA%B2%80%EC%A6%9D%2C+%EB%B3%B4%EC%95%88+%EC%84%B8%EC%85%98%EC%9D%84+Flutter+%EC%95%B1%EC%97%90+%EC%84%A4%EC%A0%95%ED%95%98%EA%B3%A0+%EC%9D%B8%EC%A6%9D+%EB%B0%8F+%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81+%EB%A7%81%ED%81%AC%EB%A5%BC+%EC%97%B0%EA%B2%B0%ED%95%98%EB%8A%94+%EB%B0%A9%EB%B2%95%EC%9D%84+%EC%95%88%EB%82%B4%ED%95%A9%EB%8B%88%EB%8B%A4.\u0026amp;theme=f6d5c5eb819d99f700ee852a\u0026amp;signature=e8fcab6c9fec72ee928f0d9826f663d0d3920e5808e2b09ab421f3f4ddb8a5c3\">\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/ko/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=\"/ko/authentication/quickstarts/flutter.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.didit.me/ko/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=\"id\" href=\"https://docs.didit.me/id/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=\"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/ko/authentication/quickstarts/flutter#webpage\",\"url\":\"https://docs.didit.me/ko/authentication/quickstarts/flutter\",\"name\":\"Flutter 인증 빠른 시작\",\"description\":\"Didit 호스팅 로그인, 콜백 검증, 보안 세션을 Flutter 앱에 설정하고 인증 및 모니터링 링크를 연결하는 방법을 안내합니다.\",\"dateModified\":\"2026-11-07T17:24:04.000Z\",\"isPartOf\":{\"@id\":\"https://docs.didit.me#website\"},\"breadcrumb\":{\"@id\":\"https://docs.didit.me/ko/authentication/quickstarts/flutter#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.didit.me/ko/authentication/quickstarts/flutter#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"인증\",\"item\":\"https://docs.didit.me/ko/authentication/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"빠른 시작\",\"item\":\"https://docs.didit.me/ko/authentication/quickstarts/javascript\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Flutter 인증 빠른 시작\",\"item\":\"https://docs.didit.me/ko/authentication/quickstarts/flutter\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.didit.me/ko/authentication/quickstarts/flutter#article\",\"headline\":\"Flutter 인증 빠른 시작\",\"name\":\"Flutter 인증 빠른 시작\",\"description\":\"Didit 호스팅 로그인, 콜백 검증, 보안 세션을 Flutter 앱에 설정하고 인증 및 모니터링 링크를 연결하는 방법을 안내합니다.\",\"url\":\"https://docs.didit.me/ko/authentication/quickstarts/flutter\",\"mainEntityOfPage\":{\"@id\":\"https://docs.didit.me/ko/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"}},"pages":[{"title":"id","href":"/id/authentication/quickstarts/flutter"}]},{"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"}},"tabs":[{"tab":"시작하기","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/rocket.svg","pages":[{"title":"시작하기","href":"/ko"}]},{"tab":"연동 / SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","groups":[{"group":"가이드","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/book.svg","pages":[{"title":"KYC SDK \u0026 연동: 웹, 모바일 \u0026 Zapier","sidebarTitle":"SDK \u0026 연동","href":"/ko/integration/sdks"},{"title":"KYC API 연동 가이드: 엔드투엔드 전체 흐름","sidebarTitle":"API 전체 흐름","href":"/ko/integration/api-full-flow"},{"title":"웹훅: 실시간 KYC·KYB 이벤트 및 HMAC 서명","sidebarTitle":"웹훅","href":"/ko/integration/webhooks"},{"title":"알림 webhook: 팀 알림을 엔드포인트로 전송","sidebarTitle":"알림 webhook","href":"/ko/integration/alert-webhooks"},{"title":"인증 상태: 세션 수명 주기 및 상태 코드","sidebarTitle":"인증 상태","href":"/ko/integration/verification-statuses"},{"title":"Didit API 오류 코드: 상태 코드, 응답 본문 및 해결 방법","sidebarTitle":"API 오류","href":"/ko/integration/api-errors"},{"title":"API 속도 제한: 한도, 헤더 및 429 백오프 전략","sidebarTitle":"속도 제한","href":"/ko/integration/rate-limiting"},{"title":"샌드박스 테스트 데이터: 시나리오, 매직 값, 문서","sidebarTitle":"샌드박스 \u0026 테스트 데이터","href":"/ko/integration/sandbox-testing"},{"title":"프로그래매틱 등록: AI 에이전트를 위한 KYC API","sidebarTitle":"프로그래매틱 등록","href":"/ko/integration/programmatic-registration"},{"title":"연동 프롬프트: 신분증 인증·거래 모니터링·생체 인증 통합","sidebarTitle":"연동 프롬프트","href":"/ko/integration/integration-prompt"}]},{"group":"인증","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","pages":[{"title":"인증(Authentication): 최종 사용자 로그인, 패스키 및 세션","sidebarTitle":"인증","href":"/ko/authentication/overview"},{"group":"빠른 시작","pages":[{"title":"JavaScript 빠른 시작","href":"/ko/authentication/quickstarts/javascript"},{"title":"React 인증 빠른 시작","href":"/ko/authentication/quickstarts/react"},{"title":"Next.js 빠른 시작 가이드","href":"/ko/authentication/quickstarts/nextjs"},{"title":"iOS 빠른 시작: 인증 연동","href":"/ko/authentication/quickstarts/ios"},{"title":"Android 사용자 인증 빠른 시작","href":"/ko/authentication/quickstarts/android"},{"title":"React Native 빠른 시작 가이드","description":"Didit으로 React Native 인증을 준비하세요. 호스팅 로그인, 콜백 검증, 보안 세션, 인증 및 모니터링 페이지 연결 방법을 안내합니다.","href":"/ko/authentication/quickstarts/react-native"},{"title":"Flutter 인증 빠른 시작","href":"/ko/authentication/quickstarts/flutter"}]},{"title":"로그인 방법: 패스키, 코드, 소셜, SSO","sidebarTitle":"로그인 방법","description":"Didit에서 비밀번호, 이메일 코드, 매직 링크, 전화번호 코드, 패스키, 소셜, 조직 SSO, Didit ID Wallet 로그인을 설정하고 MFA와 비밀번호 재설정도 구성하세요.","href":"/ko/authentication/sign-in-methods"},{"title":"JWT 검증과 JWKS: Didit Authentication 토큰","sidebarTitle":"토큰 및 JWKS","href":"/ko/authentication/tokens-and-jwks"},{"title":"인증 이벤트 및 webhook","sidebarTitle":"이벤트 및 webhook","href":"/ko/authentication/events-and-webhooks"},{"title":"사용자 마이그레이션: 비밀번호 및 MFA 가져오기","sidebarTitle":"사용자 마이그레이션","href":"/ko/authentication/migration"},{"title":"로그인 봇 차단: 크리덴셜 스터핑·무차별 대입 공격 방어","sidebarTitle":"봇 차단","href":"/ko/authentication/bot-protection"},{"group":"API 레퍼런스","pages":[{"title":"OpenID 구성 조회 | Didit Authentication API","sidebarTitle":"OpenID 구성 조회","openapi":"ko/openapi-authentication.json GET /.well-known/openid-configuration","href":"/ko/authentication/api-reference/get-openid-configuration"},{"title":"서명 키(JWKS) 조회 | Didit Authentication API","sidebarTitle":"서명 키(JWKS) 조회","openapi":"ko/openapi-authentication.json GET /.well-known/jwks.json","href":"/ko/authentication/api-reference/get-jwks"},{"title":"Token Endpoint: 코드 교환·갱신 | Didit Authentication API","sidebarTitle":"토큰 교환 또는 갱신","openapi":"ko/openapi-authentication.json POST /token/","href":"/ko/authentication/api-reference/token"},{"title":"세션 조회 | Didit Authentication API","sidebarTitle":"세션 조회","openapi":"ko/openapi-authentication.json GET /session/","href":"/ko/authentication/api-reference/get-session"},{"title":"세션 해지(로그아웃) | Didit 인증 API","sidebarTitle":"세션 해지","openapi":"ko/openapi-authentication.json DELETE /session/","href":"/ko/authentication/api-reference/revoke-session"},{"title":"스텝업 인증 생성 | Didit 인증 API","sidebarTitle":"스텝업 인증 생성","openapi":"ko/openapi-authentication.json POST /step-up/","href":"/ko/authentication/api-reference/create-step-up"},{"title":"Step-Up 상태 조회 | Didit Authentication API","sidebarTitle":"Step-up 조회","openapi":"ko/openapi-authentication.json GET /step-up/{step_up_id}/","href":"/ko/authentication/api-reference/retrieve-step-up"},{"title":"모니터링 토큰 생성 | Didit Authentication API","sidebarTitle":"모니터링 토큰 생성하기","openapi":"ko/openapi-authentication.json POST /monitoring-token/","href":"/ko/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":"Didit MCP 서버: AI 에이전트를 위한 신원 인증","sidebarTitle":"개요","href":"/ko/integration/mcp/overview"},{"title":"Claude에 Didit MCP 서버 연결하기","sidebarTitle":"Claude 연결","href":"/ko/integration/mcp/claude"},{"title":"MCP 서버 설치: Claude, Cursor, VS Code, Windsurf","sidebarTitle":"설치","href":"/ko/integration/mcp/installation"},{"title":"Didit MCP 인증: Didit으로 로그인(OAuth)","sidebarTitle":"인증","href":"/ko/integration/mcp/authentication"},{"title":"Didit MCP 도구 레퍼런스: 신분증 인증 등 169개 도구","sidebarTitle":"도구","href":"/ko/integration/mcp/tools"},{"title":"Didit MCP 예제: 프롬프트 및 에이전트 대화","sidebarTitle":"예제","href":"/ko/integration/mcp/examples"},{"title":"Didit MCP 고급 설정, 문제 해결 및 자체 호스팅","sidebarTitle":"고급 설정","href":"/ko/integration/mcp/advanced"}]},{"group":"웹 SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/browser.svg","pages":[{"title":"웹 신원 인증 SDK: JS 및 iframe","sidebarTitle":"웹 SDK","href":"/ko/integration/web-sdks/overview"},{"title":"자바스크립트 신분증 인증 SDK: 웹 KYC","sidebarTitle":"JavaScript SDK","href":"/ko/integration/web-sdks/javascript-sdk"},{"title":"웹 리다이렉트 KYC: 호스팅 인증 페이지","sidebarTitle":"웹 리다이렉트","href":"/ko/integration/web-sdks/web-redirect"},{"title":"iframe 신분증 인증: 임베디드 웹 KYC","sidebarTitle":"InContext (iframe)","href":"/ko/integration/web-sdks/incontext-iframe"},{"title":"WebView KYC: 모바일 신원 인증","sidebarTitle":"WebView 연동","href":"/ko/integration/web-sdks/webview-in-ios-android"}]},{"group":"네이티브 SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/mobile.svg","pages":[{"title":"모바일 KYC SDK: iOS, Android, RN, Flutter 네이티브 연동","sidebarTitle":"네이티브 SDK","href":"/ko/integration/native-sdks/overview"},{"title":"iOS 신분증 인증 SDK: 모바일 KYC","sidebarTitle":"iOS SDK","href":"/ko/integration/native-sdks/ios-sdk"},{"title":"안드로이드 Kotlin 신분증 인증 SDK: KYC","sidebarTitle":"안드로이드 SDK","href":"/ko/integration/native-sdks/android-sdk"},{"title":"React Native KYC SDK: 모바일 신원 인증","sidebarTitle":"React Native SDK","href":"/ko/integration/native-sdks/react-native-sdk"},{"title":"Flutter KYC SDK: Dart 모바일 신원 인증","sidebarTitle":"Flutter SDK","href":"/ko/integration/native-sdks/flutter-sdk"}]},{"group":"서버 SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","pages":[{"title":"서버 SDK: Python, Node.js, Go, Java, PHP, Ruby, .NET","sidebarTitle":"개요","href":"/ko/integration/server-sdks/overview"},{"title":"Didit Python SDK: KYC, AML, 거래 모니터링","sidebarTitle":"Python","href":"/ko/integration/server-sdks/python"},{"title":"Didit Node.js 및 TypeScript SDK: KYC·AML 연동 가이드","sidebarTitle":"Node.js","href":"/ko/integration/server-sdks/node"},{"title":"Go SDK로 KYC, AML 및 거래 처리","sidebarTitle":"Go","href":"/ko/integration/server-sdks/go"},{"title":"Java 및 Kotlin SDK: KYC, AML, 거래 모니터링","sidebarTitle":"Java","href":"/ko/integration/server-sdks/java"},{"title":"Didit PHP SDK: KYC, AML 및 거래 모니터링","sidebarTitle":"PHP","href":"/ko/integration/server-sdks/php"},{"title":"Didit Ruby SDK: KYC, AML 스크리닝, 거래 모니터링 연동","sidebarTitle":"Ruby","href":"/ko/integration/server-sdks/ruby"},{"title":"C# 및 .NET SDK: KYC, AML, 거래 모니터링","sidebarTitle":".NET","href":"/ko/integration/server-sdks/dotnet"}]},{"group":"연동","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/puzzle.svg","pages":[{"title":"노코드 KYC 엔진: Zapier 신원 인증 자동화","sidebarTitle":"노코드 엔진 연동","href":"/ko/integration/engines/overview"},{"title":"Zapier 신분증 인증 자동화","sidebarTitle":"Zapier","href":"/ko/integration/engines/zapier"},{"title":"Okta \u0026 Auth0 신원 확인 연동","href":"/ko/integration/engines/okta-auth0-idv"},{"title":"WooCommerce 신분증 인증 플러그인: WordPress KYC","sidebarTitle":"WordPress + WooCommerce","href":"/ko/integration/web-sdks/wordpress-woocommerce"},{"title":"Shopify KYC 앱 - 신원 및 연령 인증","sidebarTitle":"Shopify","href":"/ko/integration/web-sdks/shopify"},{"title":"Salesforce 신분증 인증 앱: KYC 및 KYB","sidebarTitle":"Salesforce","href":"/ko/integration/web-sdks/salesforce"}]}]},{"tab":"API 레퍼런스","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","pages":[{"title":"API 레퍼런스","href":"/ko/api-reference/overview"}]},{"tab":"사용자 인증","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/user-verifications.svg","pages":[{"title":"사용자 인증","href":"/ko/core-technology/liveness/overview"}]},{"tab":"기업 확인","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/business-verifications.svg","pages":[{"title":"기업 확인","href":"/ko/business-verification/overview"}]},{"tab":"거래 모니터링","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"거래 모니터링","href":"/ko/transaction-monitoring/overview"}]},{"tab":"변경 내역","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/calendar.svg","pages":[{"title":"변경 내역","href":"/ko/changelog"}]}],"global":{"anchors":[{"anchor":"API 레퍼런스","icon":"code","href":"/ko/api-reference/overview"},{"anchor":"Business Console","icon":"gauge","href":"https://business.didit.me"},{"anchor":"OpenAPI 사양","icon":"file-code","href":"https://docs.didit.me/ko/openapi-25.json"},{"anchor":"연동 프롬프트","icon":"wand-magic-sparkles","href":"/ko/integration/integration-prompt"},{"anchor":"MCP 서버","icon":"plug","href":"/ko/integration/mcp/overview"},{"anchor":"에이전트 스킬","icon":"robot","href":"https://github.com/didit-protocol/skills"}]}},{"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":"Flutter 인증 빠른 시작 - Didit Docs","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":[],"chunks":[]}