[서버]Firebase와 Vapor 범용사용

힐링힐링·2024년 1월 12일
0

네트워크

목록 보기
4/5

SwiftUI 앱에서 구글 로그인 인증을 구현할 때 Vapor 서버와 Firebase를 함께 사용하는 것은 완전히 가능합니다. 여기서 Firebase는 주로 사용자 인증 및 관리를 위해 사용되며, Vapor 서버는 인증된 사용자의 데이터를 처리하고 관리하는 데 사용될 수 있습니다. 아래는 대략적인 구현 단계입니다:

1. Firebase 프로젝트 설정

Firebase 콘솔에서 새 프로젝트를 생성합니다.
'Authentication' 섹션에서 '로그인 방법'을 설정하고 Google 로그인을 활성화합니다.
iOS 앱을 Firebase 프로젝트에 추가하고, Firebase가 제공하는 GoogleService-Info.plist 파일을 Xcode 프로젝트에 포함시킵니다

FireBase SDK 설치 방법

참고

https://console.firebase.google.com/?hl=ko&_gl=1*xw0mrc*_ga*NzQ1ODY2NDU4LjE3MDQzMzE1NjM.*_ga_CW55HF8NVT*MTcwNTAyODEzMC43LjEuMTcwNTAyOTM3Ny42MC4wLjA.

2. SwiftUI 앱에 Firebase 인증 추가

설치시 add to Target 잘해야함
아래 참고

https://github.com/mettiuss/swift-googlesignin
https://firebase.google.com/docs/auth/ios/google-signin?hl=ko

https://developers.google.com/identity/sign-in/ios/start-integrating?hl=ko

3. Google 로그인 인증 흐름 구현

설치시 add to Target 잘해야함

사용자가 Google 로그인 버튼을 탭하면, Firebase를 통해 Google 로그인 흐름을 시작합니다.
사용자가 성공적으로 로그인하면, Firebase에서 제공하는 인증 정보를 사용하여 사용자 세션을 생성합니다.

https://github.com/mettiuss/swift-googlesignin
https://github.com/sohay19/SocialLoginUI/tree/main/SocialLoginUI

커밋메세지, ADD: SwiftUI, google로그인 인증 세팅완료 찾아보기
https://github.com/Jihunkim95/Vapor_helloDemo

4. Vapor 서버와의 통합

사용자가 Google을 통해 인증을 완료한 후, 클라이언트는 인증 토큰을 Vapor 서버로 전송합니다.
Vapor 서버는 Firebase Admin SDK를 사용하여 토큰의 유효성을 검증합니다.
토큰이 유효하면, 서버는 해당 사용자에 대한 세션을 생성하거나 사용자 데이터를 처리합니다.

5. 사용자 세션 관리

Vapor 서버는 사용자 세션을 관리하고, 필요한 경우 데이터베이스에 사용자 정보를 저장합니다.
서버는 필요한 API를 통해 클라이언트와 데이터를 교환합니다.

6. 보안 고려사항

HTTPS를 사용하여 클라이언트와 서버 간의 모든 통신을 암호화합니다.
Vapor 서버에서는 Firebase Admin SDK를 사용하여 인증 토큰의 유효성을 검증합니다.
이러한 방식으로 SwiftUI 앱에서 Google 로그인을 구현하면, Firebase의 강력한 인증 시스템과 Vapor 서버의 유연한 백엔드 처리 기능을 모두 활용할 수 있습니다.

profile
블로그 이전합니다 https://james-kim-tech.tistory.com/

0개의 댓글