inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)

SplashActivity 에서 uuid값을 결정할 때 Firebase.auth 대신 node.js 미들웨어를 사용하려 합니다.

261

dhkim0405

작성한 질문수 1

0

안녕하세요 개복치개발자님.

강의 정말 잘 듣고 있습니다!  다름이 아니라 몇가지 질문이 있어서 글 남겼습니다. 

 

현재 업로드 하신 강의 내용 중 Firebase.auth 가 수행하는 기능을 node.js 미들웨어로 구현하고자 합니다. 현재 강의 목적이 Android Client 역할 수행에 대한 내용다루기 인것을 잘 알고 있습니다. 그래서 로그인 서버를 따로 구축하지 않고 Firebase.auth를 이용하는 점에 대해서도 잘 이해하고 있습니다. 강의 외 내용을 질문드리는 것이 아닌가 죄송합니다만, 조언을 구할곳이 없어 글을 남겼습니다. 답변 주신다면 정말 큰 도움이 될 것 같습니다 ! 감사합니다!

 

서버 환경은 이렇습니다.

1. Linux Server내 회원정보를 저장할 MysqlDB

2. Android요청에 따른 동작을 수행하기위한 Node.js 미들웨어 

 

질문의 자세한 내용은 이렇습니다.

사용자의 로그인 상태를 SplashActivity에서 확인하고자 합니다. 이때 로그인 상태정보는 Linux Server - MySQL DB에 저장되어 있습니다.  Android(Client)에서 상태정보를 얻고자 한다면 Client정보 중 일부를 전송해 인증을 받아야 합니다. 그렇다면 서버로 전송 할 Clinet의 정보가 Android내부에 저장되어있어야 하는데, 이 정보를 내부 sqlite에 저장하는것이 바람직한 방법인지, 또한 인증을 위해 전송하는 데이터에는 일반적으로 어떠한 것들이 사용되는지 여쭙고자 합니다. 혹은 더 바람직한 방법을 알려주신다면 너무 감사하겠습니다.

 

firebase android kotlin

답변 1

1

개복치개발자

안녕하세요 dhkim0405님

이런 형태의 질문이 오랜만이라 너무 반갑습니다 :)

 

제가 이해하기로는 Nodejs로 만든 API서버와 Android와 통신하려고 하는데

Client 정보(token 값 같은 것들?)를 저장해놓는 것을 어떻게 하는지에 대한 방법에 대한 질문이신 것 같습니다.

 

1. 우선적으로 서버와 통신은 Retrofit을 이용하여 HTTP통신을 하여 API를 호출하시면 됩니다.

관련 예제들은 아래의 링크에 많으니 한번 참고해보시면 될 것 같습니다.

https://www.youtube.com/results?search_query=retrofit+example+kotlin

 

2. Client정보 같은 경우에는 localDB인 Room, Realm, SQlite같은 곳에 저장하는 방법도 있고

Android에서 SharedPreferences라는 것을 이용해서 저장하는 방법도 있습니다.

https://leveloper.tistory.com/133

https://developer.android.com/training/data-storage/shared-preferences?hl=ko

 

Node로 서버를 구현하셨다면 JWT형태로 유저 인증을 진행하셨을 것이라고 예상되는데

token값을 저장해놓고, Header에 token을 넣어서 Retrofit을 이용해 HTTP 통신을 하는 방향으로 진행하시면 좋지 않을까 하는 생각이 듭니다.

 

3. 인증을 위해 전송하는 정보는 서버에서 인증 관련 로직을 처리하는 것이기 때문에 서버에 설계대로 데이터를 넘겨주면 될 것 같습니다. 

 예를 들면 간단하게 ID,PWD를 이용하여 회원인증을 진행한다고 하면

 LoginActivity에서 처음 로그인 할 때 ID,PWD를 서버로 넘겨주고, 서버에서 Token값을 받아와서 안드로이드에 저장

 다시 앱을 실행 시 SplashActivity에서 Token값 여부 확인하여, 이미 유효한 토큰값이 있다면 LoginActivity를 생략하고 앱 메인페이지로 이동

 이런 형태로 구현하면 좋지 않을까 합니다.

 

 혹시 설명이 부족하거나, 제가 질문을 잘 못 이해했거나, 이해가 어려우신 부분이 있다면 언제든지 문의 남겨주세요 :)

0

dhkim0405

이렇게 성의 있는 답변 해주셔서 너무 감사드립니다!!  

답변 내용을 통해 몰랐던 내용을 많이 알게되어 새로 공부할 것들이 생겨 너무 좋습니다! 또한 token이 유효한지 검사하는 과정에 대해 말씀해 주셔서 궁금증이 해결 되었습니다! 

다시한번 너무 감사드립니다!! 좋은하루 보내세요:)

CardStackView 라이브러리 추가에 실패합니다.

0

109

1

CardStackView

0

133

2

CardStackView 오류 정상적으로 구현이 되지 않습니다.

0

211

3

최신화 된 강의 요청합니다

0

173

2

auth.currentUser?.uid.toString() 가 null 이 나와요

0

199

1

혹시.. 지금 최신 환경 상, 강의 내용대로 진행이 안 되는 걸까요?

0

251

1

현시점에서 알려주신 방법대로 서버키를 받는것이 안되는것같습니다

0

266

2

3강 firebase 쓰기가 동작하질않아요

0

190

1

강사님 실시간으로 혹시 문의하는 방법은 없을까요??

0

190

1

해당 강의 들으시는 분들 중에 교육관련해서 서로 얘기 나누실 분 있으신가요??

0

168

1

강사님 FCM 단계 진행하면서 오류들이 너무 많이 발생합니다...

0

215

1

FCM 토큰 문의

0

223

1

강사님 FCM 단계에서 전체적으로 앱 문제가 발생해서 혹시 원격으로 조치 해주실 수 있나요?

0

243

1

토큰 정보 유저정보에 저장하기 강의 4분 12초 코드를 동일하게 입력했는데 적용이 잘 안되는 것 같아요.

0

411

3

토큰 받아와서 메세지 보내기 강의 2분 20초 로그캣 확인 하는 창이 다르고 토큰 값이 안떠요.

0

225

1

FCM 강의, firebaseservice 클래스 내 오류코드 해결방안이 궁금합니다.

0

283

2

FCM 강의 중간부터 코드 오류가 발생했는지 앱에서 회원가입을 해도 파이어베이스 Authentication에는 회원등록이 해도 화면이 넘어가지 않고 데이터도 저장이 안 되네요.

0

306

3

섹션 1 CardStackView의 Implement members 질문있습니다.

0

236

1

수업자료 다운로드 후 알집풀기에서 오류가 발생합니다.

0

483

3

Retrofit 사용해보기 강의 2:20 쯤에 작성된 복사된 코드는 어디서 받나요?

0

241

2

강의 FCM 소개 1:56에 디펜던시 추가하는게 최신버전으로 바뀐 듯합니다.

0

290

1

매칭이 되면 알람 띄우기 강의에서 오류문구 해결방안이 궁금합니다.

0

372

3

소스코드 다운이 불가능합니다..

0

149

1

나와 다른 성별의 유저 불러오기 강의에서 에뮬레이터에서 앱이 켜졌다가 바로 꺼져요.

0

467

11