iOS 파이어베이스 회원정보 관리
Swift로 Firebase Auth 회원정보 구현 3탄
"파이어베이스 로그인, 로그아웃, 비밀번호 재설정, 회원탈퇴"
🛑 이글에서는 파이어베이스 Auth를 이용한 로그인, 로그아웃, 비밀번호 재설정, 회원탈퇴만 다룬다 🛑
Xcode와 Firebase 연동 방법과 회원가입은 아래 글에서 참조
iOS와 Firebase 연동 1탄
2023.06.20 - [iOS Swift/Firebase 연동] - [ios/Swift] iOS 파이어베이스 연동 Firebase Auth (1)
iOS와 Firebase Auth 회원가입 2탄
2023.06.28 - [iOS Swift/Firebase 연동] - [ios/Swift] iOS 파이어베이스 회원가입 Firebase Auth (2)
Chap1. Firebase 라이브러리 import
파이어베이스 사용하려는 ViewController에 Firebase 라이브러리 import 한다
import FirebaseAuth
import FirebaseCore
Chap2. Firebase Auth 로그인
🔥 Firebase Auth SignIn 함수 사용방법
fileprivate func signInUser() {
guard let email = emailTf.text else { return }
guard let pw = pwTf.text else { return }
Auth.auth().signIn(withEmail: email, password: pw) { [self] authResult, error in
if authResult == nil {
printf("로그인 실패")
if let errorCode = error {
print(errorCode)
}
}else if authResult != nil {
printf("로그인 성공")
}
}
}
✔️ 코드 설명
if authResult == nil 경우
- 로그인 정보가 반환되지 않아 로그인 실패
- 로그인 실패인 경우 -> error 코드 반환
else if authResult != nil 이면
- 로그인 성공하여 회원정보 반환
Chap3. Firebase Auth 로그아웃
🔥 Firebase Auth Signout 함수 사용방법
fileprivate func signOut() {
let firebaseAuth = Auth.auth()
do {
try firebaseAuth.signOut()
} catch let signOutError as NSError {
print("Error signing out: %@", signOutError)
}
}
✔️ 코드 설명
Auth.auth() 존재하지않는 경우
- 회원정보가 존재하지 않아 에러코드 반환
Chap4. Firebase Auth 비밀번호 재설정
🔥 Firebase Auth sendPasswordReset 함수 사용방법
fileprivate func sendPasswordReset() {
guard let email = emailTf.text else { return }
Auth.auth().sendPasswordReset(withEmail: email) { [self] error in
guard let error = error else {
print("메세지 보내기 성공")
return
}
let nsError : NSError = error as NSError
switch nsError.code {
case 17011:
print("존재하지 않는 이메일 입니다")
default:
break
}
}
}
✔️ 코드 설명
- sendPasswordReset 함수를 통해 이메일이 제대로 발송된 경우 error가 발생되지 않는다
- 이메일 발송 실패인 경우 error 코드 반환
- errorCode: 17011
→ Firebase Auth 에 존재하지 않는 이메일로 이메일 발송 실패
Chap5. 제목 Firebase Auth 회원탈퇴
🔥 Firebase Auth delete 함수 사용방법
fileprivate func deleteAccount() {
if let user = Auth.auth().currentUser {
user.delete { [self] error in
if let error = error {
print("Firebase Error : ",error)
} else {
print("회원탈퇴 성공!")
}
}
} else {
print("로그인 정보가 존재하지 않습니다")
}
}
🚫 주의 🚫
user.delete 는 auth().currentUser에 로그인한 유저의 정보가 저장되어 있어야 한다
→ 저장되어 있지 않을 경우 error 반환
✔️ 코드 설명
- delete 함수를 통해 계정이 삭제되면 error가 발생되지 않는다
- 계정삭제 실패인 경우 error 코드 반환
👇 전체 소스코드 Github에서 확인하기 👇
https://github.com/hyeebin/ex-firebase-ios
'iOS Swift > Library, Framework 연동' 카테고리의 다른 글
[iOS/Swift] 파이어베이스 프로필 생성 Profile Firebase Auth (4) (0) | 2023.07.11 |
---|---|
[iOS/Swift] ios 파이어베이스 회원가입 Firebase Auth (2) (0) | 2023.06.28 |
[iOS/Swift] ios 파이어베이스 연동 Firebase Auth (1) (4) | 2023.06.20 |
[iOS/Swift] 네이버 Clova OCR Api 예제 (2) | 2023.01.02 |