개요목표: Firebase 없이 Google Cloud Console만으로 iOS/Android에 구글 로그인을 붙이고,클라이언트가 받은 Google ID Token(JWT) 을 Spring 백엔드에서 검증한 뒤 자체 JWT(Access/Refresh) 를 발급.핵심 포인트iOS/Android 클라이언트 ID는 “앱 신원” 확인용.Web Client ID는 ID Token 발급을 위해 Android에서 반드시 필요 (Flutter serverClientId 옵션).백엔드는 여러 Client ID(iOS/Android/Web)를 허용하도록 검증해야 플랫폼별 토큰을 모두 수용 가능.1) Google Cloud Console에서 준비하기1-1. 프로젝트/동의 화면[Google Cloud Console] → 프..
Front-End/Flutter

서론 처음 플러터 개발을 시작했을 때 QR스캔이 필요해서 아무 패키지나 사용했다. '플러터 패키지니까 사용량 높은 아무거나 써도 Android/iOS 다 지원하겠지?' 대충 이런 생각이었다. 아니 그냥 iOS에선 안될거란 생각 자체를 못했다. 그 때 사용한 패키지가 qrscan이라는 놈.... 코드 다짜고 iOS 지원이 안되어 싹 갈아엎었다... 그래서 오늘은 갈아엎으며 바꾸게 된 패키지인 qr_code_scanner를 소개해보고자 한다. Android/iOS 모두 지원하며 qrscan보다 기본 디자인도 예쁘고 커스터마이즈도 가능해서 추천한다. 1. 설치 pubspce.yaml에 qr_code_scanner를 추가하고 Pub get qr_code_scanner: ^1.0.1 qr_code_scanner ..

플러터 InAppWebView로 javscript function을 통해 데이터를 주고받을 수 있습니다. WEB에서 APP, APP에서 WEB으로 데이터를 어떻게 전송하는지 알아보겠습니다. 1. addJavaScriptHandler (WEB -> APP) WEB 코드 function webToApp_Function() { //Flutter에서 WebView가 모두 로드되었을 경우 if (isFlutterInAppWebViewReady) { //WEB에서 APP으로 넘겨줄 데이터 var args = [{'name': value}]; window.flutter_inappwebview.callHandler('handler명', ...args); } } 위 코드블럭처럼 function을 구현하고 handler명..

필자는 앱 FlutterSecureStorage에 저장된 JWT토큰을 백엔드로 바로 전송해야했고, 이를 위해 POST방식으로 토큰을 전송하였습니다. 사용방법은 아래와 같습니다. @override Widget build (BuildContext context){ return InAppWebView( onWebViewCreated: (controller) { _controller = controller; print("onWebViewCreated---------------------> $token"); var data = "token=" + token; _controller.postUrl(url: Uri.parse("호출할 url"), postData: Uint8List.fromList(utf8.encode..