Firebase
IOS - Firebase 비밀번호 변경
Firebase 로그인 한 상태에서 사용자 값을 업데이트 할 수 있다. 로그인을 제공하는 서비스에서 가장 흔하게 발생하는 요청중 하나는 비밀번호를 잃어버렸다는 요청이다. Firebase 인증의 경우엔 별도의 앱 화면 개발 없이도 사용자가 비밀번호를 변경할 수 있도록 해당 기능을 제공한다. //해당경로로 갔을때 provierID가 "password"면 로그인을 이메일/비밀번호로 했다는 의미. Auth.auth().currentUser?.providerData[0].providerID == "password" //email에 현재 접속한 유저의 email을 저장한다. let email = Auth.auth().currentUser?.email ?? "" //위의 email로 패스워드를 변경할 수 있는 메일을..
IOS - Firebase Auth Google login
Firebase 접속, Authentication접속 sign-in method 탬에서 제공업체 구글을 선택해준다. 여기서 프로젝트의 공개용 이름은 차후에 구글 권한을 요청할 때에 사용자에게 "앱이름" 이 사용자 권한을 요청합니다. 라는 의미를 표시할떄 사용되는 이름이다. 이름을 설정해주고 저장을 누른다. 구글 로그인을 사용하려면 podfile에 추가적으로 추가해야하는 podfile이 있다. 해당 프로젝트의 podfile을 열어준 후 아래를 입력해주고, 해당 프로젝트의 터미널에서 pod install을 해준다. pod 'GoogleSignIn' m1 맥북이며, 에러가 발생한다면 pod install 대신 $ sudo arch -x86_64 gem install ffi $ arch -x86_64 pod i..
IOS - Use Firebase Authentication
파이어 베이스 프로젝트의 빌드 -> Authentication으로 이동 사용할 권한을 설정하고 Xcode로 돌아간다. 이메일/비밀번호를 가지는 계정정보를 파이어베이스 인증에 전달하는건 로그인 버튼을 눌렀을 때 이다. 신규 사용자는 Auth.auch().createUser로 만들 수 있다. Auth.auth().createUser(withEmail: , password: , completion: ((AuthDataResult?, Error?) -> Void)?) Firebase Auth SDK에서 Firebase Auth 인증 플랫폼에 전달할 수 있다. completion클로저 내에서는 인증 받았을 때 AuthDataResult? 객체로, 실패한다면 Error객체로 결과를 받을 수 있다 하지만 순환참조 바..
IOS - Use Firebase
https://firebase.google.com/?hl=ko&gclid=Cj0KCQiA09eQBhCxARIsAAYRiymNr83EYzoFqic6qcPQekOxKEFrVTA7F8xGAvrmTufplie7WdWkDEUaAhkrEALw_wcB&gclsrc=aw.ds Firebase Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다. firebase.google.com 파이어베이스 사이트로 이동하여 콘솔로 이동버튼을 누르고 프로젝트 생성을 한다. Apple번들 ID는 아래의 Xcode의 프로젝트를 클릭하면 나오게되는데 Bundle Identifier를 넣어주면 된다. 이후 GoogleService-Info.plist 파일을 드래그로 Xcode..
OAuth
Oauth: - 사용자 인증 방식에 대한 업계 표준 - 인증에 대한 규격화된 프로토콜을 제공하는 표준 인증 방식 - ID/PW를 노출하지 않고 OAuth를 사용하는 업체의 API접근 권한을 위임 받음. - 기본개념 1. User Service Provider에 게정을 가지고 있는 사용자 2. Consumer Service Provider의 API(제공기능) 을 사용하려는 서비스 (웹, 앱 등) 3. Service Provider Oauth를 사용하여 API를 제공하는 서비스 4. Access Token인증 완료 후 Sefvice Provideer의 제공 기능을 이용할 수 있는 권한을 위임받은 인증 키
Firebase
Firebase Firebase는 프론트앤드 개발에 필요한 여러 플랫폼을 제공하는 서비스다. Build, Release&Monitor, Engage 등 목적에 따라 여러가지 서비스를 제공한다. 하나의 앱 서비스에 있어서 백앤드가 여러부분을 담당한다. 실시간으로 발생하는 여러 데이터를 저장하고, 저장한 데이터를 불러오고 수정, 삭제하는 데이터베이스 역활 Cloud Firestore, Realtime Database 원격으로 특정 사용자에게 알림메세지를 보내는것 - Push알림- 이것역시 원격으로 메세지를 보내는 서버가 필요하다. Cloud Messaging 이 외에도 특정 세그먼트에 해당하는 사용자를 분류하는것 Google Analytics 분류한 사용자에게 메세지나 특정 화면을 보여주는것 Remote C..
Backend - Frontend 데이터 흐름
Client-Server Model Client: 어떤 서비스를 사용하는 사용자(웹사이트, 모바일기기등..). Server: 클라이언트 측에서 화면에 표시되는 데이터, 자료를 처리하는 시스템. 서버와 클라이언트는 상호작용하면서 처리하게된다. 사용자가 어떤 프로그램을 바라보고 있을 경우 프로그램으로하는 다양한 형태의 행위같은 입력을 받아서 처리하는것을 프론트앤드라고 통칭한다. 백앤드(서버)는 프론트앤드와 약속한 규칙에 따라서 이러한 여러 입력들을 처리하거나 전달하게 된다. 이런 프론트앤드와 백앤드는 인터넷으로 연결되게 된다. 곧 클라이언트(Frontend), 서버(Backend) ex) IOS개발 = 프론트앤드 -> 모바일 -> IOS 로그인 데이터 흐름: 1. 사용자가 프론트엔드에서 아이디와 비밀번호를 ..