본문 바로가기
728x90
SMALL

PulseBoard13

Firebase Cloud Functions index.js 완전 해설 – Kakao 로그인 → Firebase Custom Token 변환 서버 이해하기 0️⃣ 이 글에서 다루는 전제Node.js 경험 ❌Firebase Cloud Functions 처음Kakao 로그인 + Firebase Auth 연동이 목표이 파일 하나(index.js)가 서버의 전부 1️⃣ 이 파일(index.js)이 “무엇을 하는 파일인가?”먼저 한 문장으로 요약하면 이거다.index.js는“카카오 로그인 결과를Firebase가 신뢰할 수 있는 인증 토큰으로 변환해주는 서버 코드”다. 조금 더 풀면:iOS 앱에서 카카오 accessToken을 받아서카카오 서버에 진짜 유효한 토큰인지 물어보고문제가 없으면Firebase Custom Token을 만들어서다시 iOS 앱에 돌려준다👉 이 파일은 로그인 서.. 2025. 12. 25.
Firebase Authentication의 OpenID Connect를 쓰지 않고Cloud Functions + Custom Token으로 Kakao 로그인을 구현한 이유 카카오 로그인을 Firebase Authentication과 연동하려고 조사하다 보면자연스럽게 이런 의문이 든다.“Firebase Authentication에 OpenID Connect 제공업체를 직접 추가하면카카오 로그인도 서버 없이 바로 붙일 수 있는 거 아닌가?” Firebase 콘솔에도 실제로 ‘새 OIDC 제공업체 정의’ 메뉴가 있고,카카오 역시 OpenID Connect(OIDC)를 지원한다고 문서에 명시돼 있다.그럼에도 불구하고,나는 Firebase Cloud Functions + Custom Token 구조를 선택했다.이 글은 그 판단을 개념이 아니라 근거 자료를 바탕으로 정리한 기록이다. 1. Firebase Authentication의 OpenID Connect는 무엇을 전제로 하나?F.. 2025. 12. 25.
Firebase - Functions 의 Index.js 역할 https://explorer89.tistory.com/574 Firebase Functions 초기 환경 설정 해보기https://explorer89.tistory.com/573 🔥 Firebase Functions 시작하다가 npm 에러와 경고를 만났을 때 정리Firebase Cloud Functions를 사용하기 위해Firebase CLI를 설치하려고 아래 명령어를 실행했다.npm install -g firebase-texplorer89.tistory.com 이전에 작성한 글에서 이어진 내용이다. Firebase functions 설정을 완료하면 프로젝트 폴더에 "functions"라는 폴더가 생긴다. 이 폴더 내의 Index.js가 하는 역할을 다음과 같다. ✅ 지금 index.js의 책임 C.. 2025. 12. 24.
Firebase Functions 초기 환경 설정 해보기 https://explorer89.tistory.com/573 🔥 Firebase Functions 시작하다가 npm 에러와 경고를 만났을 때 정리Firebase Cloud Functions를 사용하기 위해Firebase CLI를 설치하려고 아래 명령어를 실행했다.npm install -g firebase-tools 하지만 처음에는 다음과 같은 에러를 만났다.command not found: npm 이 글은👉 왜 이런 에explorer89.tistory.com ⚠️ 데스크탑에 프로젝트가 있는 폴더로 이동한 다음, "Firebase init" 명령어를 입력했는데, 아래와 같은 오류가 발생했다. kwonjeong-geun@gwonjeong-geuns-MacBook-Air PulseBoard % fireb.. 2025. 12. 24.
🔥 Firebase Functions 시작하다가 npm 에러와 경고를 만났을 때 정리 Firebase Cloud Functions를 사용하기 위해Firebase CLI를 설치하려고 아래 명령어를 실행했다.npm install -g firebase-tools 하지만 처음에는 다음과 같은 에러를 만났다.command not found: npm 이 글은👉 왜 이런 에러가 발생했는지👉 어떤 순서로 해결해야 하는지👉 설치 중 나타난 경고 메시지는 무엇을 의미하는지를 정리한 기록이다. ❌ 1. command not found: npm 에러의 원인결론부터 말하면, npm이 설치되지 않은 상태였다.여기서 중요한 사실 하나 👇npm은 단독으로 설치할 수 있는 도구가 아니다.npm은 Node.js에 포함된 패키지 관리자다. 즉,Node.js ❌ → npm ❌Node.js ✅ → npm ✅Fireba.. 2025. 12. 24.
카카오 OpenID Connect를 써도 Firebase Custom Token이 필요한 이유 결론부터 (명확하게)❌ 카카오에서 OpenID Connect(OIDC)를 활성화해도카카오 ID 토큰을 그대로 Firebase Custom Token으로 사용할 수는 없다. 👉 여전히 서버 + Firebase Admin SDK가 필요하다. 왜 이런 혼동이 생기냐면카카오 문서를 보면 이런 말이 나와 👇“ID 토큰은 JWT 형식이며로그인 세션 대신 사용할 수 있다” 이 문장을 보면 자연스럽게 이런 생각이 들어:“어? JWT면 Firebase Custom Token이랑 같은 거 아냐?” 👉 여기서 오해가 생김 핵심 개념 정리 (이거만 기억하면 됨)JWT는 “형식”일 뿐이다👉 JWT라고 해서 Firebase가 다 받아주는 게 아님구분의미JWT토큰 형식 (포맷)Firebase Custom TokenFireb.. 2025. 12. 24.
🔐 카카오 로그인은 왜 Firebase Email/Password로 쓰면 안 될까? Firebase로 인증 시스템을 구성하다 보면카카오 로그인을 붙이는 순간 이런 고민이 생긴다.“카카오 로그인으로 받은 정보로Firebase email / password 계정을 만들면 되지 않나?” 실제로 많은 글에서 이런 방식이 소개되어 있고,기술적으로는 ‘동작’한다.하지만 설계·보안·운영 관점에서 보면 명백한 안티패턴이다. 이 글에서는👉 왜 이 방식이 문제가 되는지👉 Firebase가 권장하는 올바른 구조는 무엇인지정리해본다. 🔎 배경: Firebase Auth와 카카오 로그인Firebase AuthGoogle, Apple, Email/Password는 기본 제공❌ Kakao는 공식 인증 Provider가 아님Kakao LoginOAuth 기반 인증로그인 결과로 accessToken, userI.. 2025. 12. 24.
Firebase Google 로그인 튜토리얼을 “실서비스 아키텍처”로 리팩토링하기 (iOS) https://firebase.google.com/docs/auth/ios/google-signin?hl=ko Apple 플랫폼에서 Google 로그인을 사용하여 인증 | Firebase Authentication의견 보내기 Apple 플랫폼에서 Google 로그인을 사용하여 인증 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Google 로그인을 앱에 통합하여 사용자가 Google 계firebase.google.com Firebase 공식 튜토리얼 구조 요약공식 문서(Google Sign-In SDK 기준)의 핵심 흐름은 다음과 같다.📌 튜토리얼의 기본 흐름GIDSignIn.sharedInstance.signInGoogle 사용자 인증 성공ID Token + Acc.. 2025. 12. 23.
🤔 Firebase Apple 로그인 튜토리얼 코드 → 우리가 만든 구조 https://explorer89.tistory.com/568 UIKit + Firebase Apple 로그인, MVVM & Coordinator로 설계하기📁 Auth 모듈 구조 & 역할 정리Auth ├─ SocialLoginProvider.swift ├─ AuthError.swift ├─ AuthProviding.swift ├─ AppleAuthHandler.swift ├─ AuthService.swift └─ AuthViewModel.swift 왜 Auth 구조를 따로 설계했는가?SNSexplorer89.tistory.com https://firebase.google.com/docs/auth/ios/apple?hl=ko&authuser=0 Apple을 사용하여 인증 | Firebase의견 보내기.. 2025. 12. 22.
UIKit + Firebase Apple 로그인, MVVM & Coordinator로 설계하기 📁 Auth 모듈 구조 & 역할 정리Auth ├─ SocialLoginProvider.swift ├─ AuthError.swift ├─ AuthProviding.swift ├─ AppleAuthHandler.swift ├─ AuthService.swift └─ AuthViewModel.swift 왜 Auth 구조를 따로 설계했는가?SNS 로그인은 외부 의존성이 강하다ViewController에 넣으면 코드가 비대해진다Firebase / Apple SDK에 UI가 직접 의존하게 된다👉 그래서 Auth를 하나의 모듈로 분리 1️⃣ SocialLoginProvider.swift✅ 역할 (한 줄)지원하는 SNS 로그인 타입을 정의하는 추상화 레이어 // MARK: - Social Login Provider/.. 2025. 12. 22.
🤔 Firebase - Apple Login 하기 (Firebase Authentication, Apple Developer 설정) https://www.youtube.com/watch?v=-mjOiBaTSZA 파이어베이스의 Authentication에서 제공하는 애플 로그인을 구현하기 위한 설정을 정리해봤다. 1️⃣ 파이어 베이스 내에 빌더 항목에서 Authentication, Data base를 추가한다. - Data base는 테스트 모드로 시작한다. - Authentication 에서 제공하는 업체 중 "Apple"을 선택한다. 2️⃣ Xcode에서 Capability - Sign in with Apple 선택한다. 3️⃣ Apple Developer 에 Service IDS를 생성한다. - Description, identifier를 작성한다. (나는 Bundle Identifier를 사용했다.) - Sign.. 2025. 12. 22.
Firebase Email/Password 인증을 사용하지 않은 이유— SNS 로그인만 채택한 서비스 설계 판단 기록 앱을 만들다 보면 가장 먼저 마주치는 선택지 중 하나가 로그인 방식이다.Firebase를 사용하는 경우, 기본적으로 제공되는 인증 방식은 다음과 같다.Email / PasswordGoogleApple기타 SNS Provider처음에는 “Email / Password + 이메일 인증” 조합이가장 보편적이고 안전해 보일 수 있다.하지만 PulseBoard 프로젝트에서는 이 방식을 채택하지 않았다.그 이유를 정리해보면, 단순한 기술 선택이 아니라 서비스 정책과 신뢰도의 문제였기 때문이다. 1. Email / Password 인증의 본질적 한계Firebase의 Email / Password 인증은 다음을 보장한다.사용자가 해당 이메일을 실제로 소유하고 있다동일한 이메일로 중복 가입은 불가하지만 이것이 보장하지 .. 2025. 12. 19.
Xcode + Sourcetree + GitHub 초기 연동 시 push 에러 해결기 📌 상황 요약 새 프로젝트 PulseBoard를 만들면서 다음과 같은 흐름으로 작업을 시작했다.Xcode에서 iOS 프로젝트 생성해당 프로젝트를 Sourcetree에 등록GitHub에서 미리 생성해 둔 repository를Sourcetree의 Remotes 설정을 통해 연결로컬에서 첫 커밋 생성Push 시도 → ❌ 에러 발생처음 GitHub와 프로젝트를 연결할 때 자주 겪을 수 있는 문제였고,결과적으로 Git의 보호 메커니즘을 이해하는 계기가 되었다. ❌ 발생한 에러! [rejected] main -> main (non-fast-forward)error: failed to push some refshint: Updates were rejected because the tip of your current.. 2025. 12. 17.
728x90
LIST