Commit a7798fea authored by KangMin An's avatar KangMin An
Browse files

Update: 로그아웃 요청 처리 경로 생성 및 함수 작성.

parent 779dc0af
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
| Data | GET | /data/loccode | 행정 구역 코드 요청 | | Data | GET | /data/loccode | 행정 구역 코드 요청 |
| Auth | POST | /signup | 회원가입 요청 | | Auth | POST | /signup | 회원가입 요청 |
| Auth | POST | /login | 로그인 요청 | | Auth | POST | /login | 로그인 요청 |
| Auth | GET | /logout | 로그아웃 요청 |
| Auth | GET | /confirm?... | 메일 인증용 토큰의 유효성 확인 요청 | | Auth | GET | /confirm?... | 메일 인증용 토큰의 유효성 확인 요청 |
| User Info | GET | /user-info | 회원 정보 요청 | | User Info | GET | /user-info | 회원 정보 요청 |
| User Info | POST | /edit-profile | 회원 정보 수정 요청 | | User Info | POST | /edit-profile | 회원 정보 수정 요청 |
...@@ -45,7 +46,7 @@ ...@@ -45,7 +46,7 @@
loc_code : /시군구/읍면동 이름과 코드 , loc_code : /시군구/읍면동 이름과 코드 ,
user_info : 사용자 정보 , user_info : 사용자 정보 ,
weather_out : 실외 날씨 데이터 , weather_out : 실외 날씨 데이터 ,
weather_user : 실내 날씨 데이터 , weather_in : 실내(사용자 개인) 날씨 데이터 ,
error: 에러 , error: 에러 ,
} }
} }
...@@ -180,3 +181,8 @@ ...@@ -180,3 +181,8 @@
: 사용자 정보를 수정하는 "/edit-profile" 에서 처리 : 사용자 정보를 수정하는 "/edit-profile" 에서 처리
2. 서버의 응답 형태와 전달 내용 작성 2. 서버의 응답 형태와 전달 내용 작성
### 2021.07.30 \_ 로그아웃 경로 추가
1. 로그아웃 요청 주소 생성
: 로그아웃 요청 시 클라이언트의 쿠키에 저장된 토큰을 없애도록 처리.
...@@ -125,6 +125,14 @@ export const postLogin = async (req, res) => { ...@@ -125,6 +125,14 @@ export const postLogin = async (req, res) => {
} }
}; };
// 로그아웃 요청 처리
export const getLogout = (req, res) => {
res.clearCookie("acs_token").redirect("/api");
// .redirect(
// `${envs.client.protocol}://${envs.client.host}:${envs.client.port}`
// );
};
// 메일로 보낸 토큰의 유효성 검사 및 access 토큰 발행 처리 // 메일로 보낸 토큰의 유효성 검사 및 access 토큰 발행 처리
export const getConfirm = async (req, res) => { export const getConfirm = async (req, res) => {
const { const {
......
...@@ -9,6 +9,7 @@ import { ...@@ -9,6 +9,7 @@ import {
getUserInfo, getUserInfo,
postEditProfile, postEditProfile,
postLogin, postLogin,
getLogout,
postSignup, postSignup,
} from "../controllers/userController"; } from "../controllers/userController";
import { onlyPrivate } from "../middlewares"; import { onlyPrivate } from "../middlewares";
...@@ -24,6 +25,7 @@ globalRouter.get(routes.editProfile, onlyPrivate, getEditProfile); ...@@ -24,6 +25,7 @@ globalRouter.get(routes.editProfile, onlyPrivate, getEditProfile);
// Authentication // Authentication
globalRouter.post(routes.signup, postSignup); globalRouter.post(routes.signup, postSignup);
globalRouter.post(routes.login, postLogin); globalRouter.post(routes.login, postLogin);
globalRouter.get(routes.logout, onlyPrivate, getLogout);
globalRouter.get(routes.confirm, getConfirm); globalRouter.get(routes.confirm, getConfirm);
// User Info // User Info
......
...@@ -17,6 +17,7 @@ const LOCCODE = "/loccode"; ...@@ -17,6 +17,7 @@ const LOCCODE = "/loccode";
// # Auth // # Auth
const SIGNUP = "/signup"; const SIGNUP = "/signup";
const LOGIN = "/login"; const LOGIN = "/login";
const LOGOUT = "/logout";
const CONFIRM = "/confirm"; const CONFIRM = "/confirm";
// # User Info // # User Info
...@@ -36,6 +37,7 @@ const routes = { ...@@ -36,6 +37,7 @@ const routes = {
locCode: LOCCODE, locCode: LOCCODE,
signup: SIGNUP, signup: SIGNUP,
login: LOGIN, login: LOGIN,
logout: LOGOUT,
confirm: CONFIRM, confirm: CONFIRM,
userinfo: USER_INFO, userinfo: USER_INFO,
editProfile: EDIT_PROFILE, editProfile: EDIT_PROFILE,
......
...@@ -9,4 +9,6 @@ block content ...@@ -9,4 +9,6 @@ block content
li li
a(href=routes.base + routes.login) 로그인 a(href=routes.base + routes.login) 로그인
li li
a(href=routes.base + routes.editProfile) 회원 정보 변경 a(href=routes.base + routes.editProfile) 회원 정보 변경
\ No newline at end of file li
a(href=routes.base + routes.logout) 로그아웃
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment