콘텐츠로 건너뛰기

한메일 로그인 wwwhanmailnet 접속하기

한메일 로그인 wwwhanmailnet 접속하기

이렇게 입력합니다. 간단하게 설명하면 action은 해당 form이 처리될 위치 method는 form의 값을 보내는 방식입니다. 이렇게 나옵니다. 퍼블리싱은 각자 알아서 예쁘게 잘 하길 바란다. 다음은 db hpmyadmin으로 이동해서 데이터베이스, 사용자를 생성하고 테이블을 만들꺼다. 메인에서 사용자 계정 선택 사용자 추가 사용자명 암호 대충 맘대로 생성하고 동명의 데이터베이스를 생성하고 모든 권한을 부여 체크 호스트명은 어차피 현재는 가상서버고 외부에서 접속할 방법도 없기때문에 굳이 손 안대도 됩니다.


imgCaption0
Supabase Auth 로그인 후 세션 받아오는 법

Supabase Auth 로그인 후 세션 받아오는 법

오른쪽에 초록색으로 하이라이팅 처리된 부분이 Supabase에서 제공하는 로그인 후, 세션을 받아올 수 있는 API다. 하지만 나는 getSession API로 구현하였습니다. 회사에서는 기업 내부 백엔드 시스템으로 Auth를 처리해야 하기 때문에 이렇게 세션을 직접 받아와야 해서 그런 식으로 코드를 짰고, 미리 연습할 수 있는 계기가 되었습니다.

Supabase에서의 POST 요청

팀원분이 Supabase에서 POST 요청을 어떠한 방식으로 해야 하냐고 하셔서 공식문서 정보를 검색을 하여 드렸습니다. 나는 Auth를 구현하느라 Supabase에 데이터를 CRUD 하는 코드는 잘 모르기 때문에 팀원분 알려주는 김에 나도 공부할 겸 찾아봤다. 웬만한 텍스트 자료는 위 사진 자료와 같은 함수를 사용해서 구현이 가능합니다.

위 사진에 나온 코드는 다음과 같다.

HttpSession

서블릿은 세션을 위해 HttpSession 이라는 기능을 제공하는데, 지금까지 나온 문제들을 해결해줍니다. 직접 구현한 세션의 아이디어가 이미 구현되어 있고, 더 잘 구현되어 있습니다. 서블릿이 제공하는 HttpSession 도 결국 직접 만든 SessionManager 와 비슷하게 동작합니다. 서블릿을 통해 HttpSession 을 생성하면 다음과 같은 쿠키를 생성합니다. 쿠키 이름이 JSESSIONID 이고, 값은 추측 불가능한 랜덤 값입니다.

세션 생성 사용자가 웹 사이트에 처음 방문하거나 세션이 만료된 후 새로운 요청을 할 때, 서버는 자동으로 새로운 HttpSession 객체를 생성합니다. 세션 데이터 저장 및 검색 HttpSession 객체는 사용자별 정보를 저장할 수 있는 속성을 제공합니다.

로그인 세션 동작 방식

사용자가 loginId , password 정보를 전달하면 서버에서 해당 사용자가 맞는지 확인합니다. 사용자 인증이 되면, 세션 ID를 생성합니다.

세션 ID는 추측 불가능해야합니다. UUID로 생성 UUID 예 mySessionIdzz0101xxbab94b929b32dadb280f4b61 제작된 세션 ID와 세션에 보관할 값memberA을 서버의 세션 저장소에 보관합니다. 세션 ID를 쿠키에 저장하여 클라이언트쿠키 저장소에 전송합니다.

클라이언트와 서버는 쿠키로 연결이 되어야 합니다.

서버는 클라이언트에 mySessionId라는 이름으로 세션ID만 쿠키에 담아서 전달합니다. 클라이언트는 쿠키 저장소에 mySessionId 쿠키를 보관합니다.

SessionAttribute

스프링은 세션을 더 간편하게 사용할 수 있도록 SessionAttribute 을 지원합니다. 이미 로그인 된 사용자를 찾을 때는 다음과 같이 사용하면 됩니다. SessionAttributename loginMember, required false Member loginMember

이 기능은 세션을 생성하지 않습니다. 이 어노테이션을 사용하면, 세션에서 직접 속성을 가져오거나 세션에 속성을 투입하는 어려운 작업 없이, 세션에 저장된 데이터를 쉽게 사용할 수 있어요.

SessionAttribute는 주로 컨트롤러 클래스 레벨에 선언되며, 이 어노테이션으로 지정된 속성은 해당 컨트롤러의 모든 핸들러 메소드에서 접근할 수 있게 됩니다.

git commit 문자 컨벤션

저번 팀 프로젝트에서는 부족했던 열정적인 Git Commit을 이번엔 활성화하기 위해서 잘게 commit 하고, 저번에 할 여유가 없어서 못했던 Pull Request도 요즘 활발하게 하려고 엄청 신경쓰고 있습니다. 오늘도 올라온 모든 Pull Request에 comment를 달았다. 팀원 것 포함해, 여러가지 코드를 볼 수 있어서 너무 좋은 기회였다. 그러다가 Commit Convention을 어떠한 방식으로 하면 좋을지를 알아보았습니다.

내용은 아래와 같다. Fix: 버그, 이슈 등 잘못된 무언가를 고치는 경우 Correct: 문법 오류, 타입, 이름, 오타 등을 편집하는 경우Fix와 비슷하지만 보다.

자주 묻는 질문

Supabase Auth 로그인 후 세션 받아오는

오른쪽에 초록색으로 하이라이팅 처리된 부분이 Supabase에서 제공하는 로그인 후, 세션을 받아올 수 있는 API다. 궁금한 사항은 본문을 참고하시기 바랍니다.

Supabase에서의 POST

팀원분이 Supabase에서 POST 요청을 어떠한 방식으로 해야 하냐고 하셔서 공식문서 정보를 검색을 하여 드렸습니다. 더 알고싶으시면 본문을 클릭해주세요.

HttpSession

서블릿은 세션을 위해 HttpSession 이라는 기능을 제공하는데, 지금까지 나온 문제들을 해결해줍니다. 궁금한 사항은 본문을 참고하시기 바랍니다.