osamhack2022 / WEB_AI_MILIROUTINE_MILIROUTINE

밀리루틴(MILIROUTINE) - 군생활 루틴 공유 서비스 | 지키고 싶은 밀리루틴을 만들고, 함께 인증해보세요!
MIT License
4 stars 6 forks source link

로그인, 회원가입, 로그아웃 기능 구현 #5

Closed minchan02 closed 2 years ago

minchan02 commented 2 years ago

MVC 패턴 활용하여 구현

Model : DB 정보를 관리하는 문서 Views : 사용자에게 보이는 화면 Controllers : 코드에서 사용될 함수 및 기능들

기존 코드보다 좀더 정갈하게 정리했습니다.

로그인

DB에서 id와 pw를 비교해 맞으면 session에 추가 시킴

회원가입

./signup 에서 기본적인 정보를 가져와 param배열에 저장 후 ./signup/more에서 추가적인 정보를 받고 param배열을 DB에 추가시킴

로그아웃

session 파괴

!문제점 ./signup/more 을 GET방식으로 지정해서 주소에 치면 ./signup 페이지를 들리지 않았더라도 접속 가능 => 추후 별도 조치 필요

minchan02 commented 2 years ago

@yoopark 한번 읽어봐주시고 문제 없으면 close나 merge 해주시기 바랍니다.

yoopark commented 2 years ago

넵! 저 역시 현재 부대 안이라 MySQL을 사용해서 돌려보기가 힘드네요..// 혹시 GoormIDE에서 돌리면 돌아가나요??

minchan02 commented 2 years ago

넵 저도 goorm ide 에서 돌리고 있습니다. 구름 컨테이너 공유링크 slack으로 보내드리겠습니다!

springkjw commented 2 years ago

요거 세션으로 인증 처리하셨는데 프론트에서 세션을 어떻게 받아오면 될까요?

yoopark commented 2 years ago

Goorm IDE 접속하여 web_miliroutine 폴더에서 열어봤는데 signup에서 다음 단계로를 누르면, signup/moreabc 라는 url로 이동하는데, 혹시 이 폴더가 아닌가요?

아, id를 abc로 입력했는데 그 id가 뒤에 url로 붙는 것 같아요. 혹시 오류일까요?

springkjw commented 2 years ago

Goorm IDE 접속하여 web_miliroutine 폴더에서 열어봤는데 signup에서 다음 단계로를 누르면, signup/moreabc 라는 url로 이동하는데, 혹시 이 폴더가 아닌가요?

아, id를 abc로 입력했는데 그 id가 뒤에 url로 붙는 것 같아요. 혹시 오류일까요?

음.. 제 질문의도가 잘못 전달 된거 같네요. 현재 프론트가 React 로 개발되어 있기 때문에 브라우저에서 인증을 할려면 세션이든 jwt 등을 활용해야합니다. 백엔드에서 웹 서버 기능까지 담당해주실거면 React를 Nodejs 에서 돌리는거여서 백엔드에서 세션을 맡아주시는건데 이렇게 하면 React가 SPA이기때문에 코드 스플릿 같은걸 해야하구요. 백엔드에서 웹 서버를 맡아주시는게 아니라면 프론트는 다른 웹서버에 올리고 백엔드는 API 서버 기능만을 해서 백엔드에서 발급하는 JWT 토큰을 프론트가 알아서 가지고 있어서 인증을 처리해야해요.

yoopark commented 2 years ago

Goorm IDE 접속하여 web_miliroutine 폴더에서 열어봤는데 signup에서 다음 단계로를 누르면, signup/moreabc 라는 url로 이동하는데, 혹시 이 폴더가 아닌가요? 아, id를 abc로 입력했는데 그 id가 뒤에 url로 붙는 것 같아요. 혹시 오류일까요?

음.. 제 질문의도가 잘못 전달 된거 같네요. 현재 프론트가 React 로 개발되어 있기 때문에 브라우저에서 인증을 할려면 세션이든 jwt 등을 활용해야합니다. 백엔드에서 웹 서버 기능까지 담당해주실거면 React를 Nodejs 에서 돌리는거여서 백엔드에서 세션을 맡아주시는건데 이렇게 하면 React가 SPA이기때문에 코드 스플릿 같은걸 해야하구요. 백엔드에서 웹 서버를 맡아주시는게 아니라면 프론트는 다른 웹서버에 올리고 백엔드는 API 서버 기능만을 해서 백엔드에서 발급하는 JWT 토큰을 프론트가 알아서 가지고 있어서 인증을 처리해야해요.

아, 재원님의 질문에 대한 대답이 아니었습니다..! 제가 직접 goorm ide에서 민찬님 만드신걸 테스트하다가 궁금한 점을 따로 물어본거에요

minchan02 commented 2 years ago

#

Goorm IDE 접속하여 web_miliroutine 폴더에서 열어봤는데 signup에서 다음 단계로를 누르면, signup/moreabc 라는 url로 이동하는데, 혹시 이 폴더가 아닌가요? 아, id를 abc로 입력했는데 그 id가 뒤에 url로 붙는 것 같아요. 혹시 오류일까요?

음.. 제 질문의도가 잘못 전달 된거 같네요. 현재 프론트가 React 로 개발되어 있기 때문에 브라우저에서 인증을 할려면 세션이든 jwt 등을 활용해야합니다. 백엔드에서 웹 서버 기능까지 담당해주실거면 React를 Nodejs 에서 돌리는거여서 백엔드에서 세션을 맡아주시는건데 이렇게 하면 React가 SPA이기때문에 코드 스플릿 같은걸 해야하구요. 백엔드에서 웹 서버를 맡아주시는게 아니라면 프론트는 다른 웹서버에 올리고 백엔드는 API 서버 기능만을 해서 백엔드에서 발급하는 JWT 토큰을 프론트가 알아서 가지고 있어서 인증을 처리해야해요.

음 솔직히 React쪽은 잘 몰라서 프론트 생각은 안하고 일단 백엔드만 구현했습니다... 현재 세션을 프론트가 사용하기 애매하면 백엔드 쪽에서 로그인 확인이 되면 응답같은 것만 보내드리면 될까요? 혹시 생각하시는 해결책이 따로 있으실까요??

springkjw commented 2 years ago

Goorm IDE 접속하여 web_miliroutine 폴더에서 열어봤는데 signup에서 다음 단계로를 누르면, signup/moreabc 라는 url로 이동하는데, 혹시 이 폴더가 아닌가요? 아, id를 abc로 입력했는데 그 id가 뒤에 url로 붙는 것 같아요. 혹시 오류일까요?

음.. 제 질문의도가 잘못 전달 된거 같네요. 현재 프론트가 React 로 개발되어 있기 때문에 브라우저에서 인증을 할려면 세션이든 jwt 등을 활용해야합니다. 백엔드에서 웹 서버 기능까지 담당해주실거면 React를 Nodejs 에서 돌리는거여서 백엔드에서 세션을 맡아주시는건데 이렇게 하면 React가 SPA이기때문에 코드 스플릿 같은걸 해야하구요. 백엔드에서 웹 서버를 맡아주시는게 아니라면 프론트는 다른 웹서버에 올리고 백엔드는 API 서버 기능만을 해서 백엔드에서 발급하는 JWT 토큰을 프론트가 알아서 가지고 있어서 인증을 처리해야해요.

음 솔직히 React쪽은 잘 몰라서 프론트 생각은 안하고 일단 백엔드만 구현했습니다... 현재 세션을 프론트가 사용하기 애매하면 백엔드 쪽에서 로그인 확인이 되면 응답같은 것만 보내드리면 될까요? 혹시 생각하시는 해결책이 따로 있으실까요??

그럼 프론트에서 인증 관리할 수 있게 JWT 토큰 발급만 해주실 수 있을까요?

minchan02 commented 2 years ago

Goorm IDE 접속하여 web_miliroutine 폴더에서 열어봤는데 signup에서 다음 단계로를 누르면, signup/moreabc 라는 url로 이동하는데, 혹시 이 폴더가 아닌가요? 아, id를 abc로 입력했는데 그 id가 뒤에 url로 붙는 것 같아요. 혹시 오류일까요?

음.. 제 질문의도가 잘못 전달 된거 같네요. 현재 프론트가 React 로 개발되어 있기 때문에 브라우저에서 인증을 할려면 세션이든 jwt 등을 활용해야합니다. 백엔드에서 웹 서버 기능까지 담당해주실거면 React를 Nodejs 에서 돌리는거여서 백엔드에서 세션을 맡아주시는건데 이렇게 하면 React가 SPA이기때문에 코드 스플릿 같은걸 해야하구요. 백엔드에서 웹 서버를 맡아주시는게 아니라면 프론트는 다른 웹서버에 올리고 백엔드는 API 서버 기능만을 해서 백엔드에서 발급하는 JWT 토큰을 프론트가 알아서 가지고 있어서 인증을 처리해야해요.

음 솔직히 React쪽은 잘 몰라서 프론트 생각은 안하고 일단 백엔드만 구현했습니다... 현재 세션을 프론트가 사용하기 애매하면 백엔드 쪽에서 로그인 확인이 되면 응답같은 것만 보내드리면 될까요? 혹시 생각하시는 해결책이 따로 있으실까요??

그럼 프론트에서 인증 관리할 수 있게 JWT 토큰 발급만 해주실 수 있을까요?

넵 알겠습니다!