Open thinkanddoit opened 1 year ago
class AuthService { /** refreshToken을 이용해 새로운 토큰을 발급받습니다. */ async refresh() { const refreshToken = cookies.get("refreshToken"); if (!refreshToken) { return; } const { data } = await axios.post( process.env.NEXT_PUBLIC_API_HOST + "/auth/refresh", null, { headers: { Authorization: `Bearer ${refreshToken}`, }, } ); cookies.set("accessToken", data.access, { expires: 1 }); cookies.set("refreshToken", data.refresh, { expires: 7 }); } /** 새로운 계정을 생성하고 토큰을 발급받습니다. */ async signup( email: string, password: string, name: string, phoneNumber: string, agreements: SignupAgreements ) { const { data } = await axios.post( process.env.NEXT_PUBLIC_API_HOST + "/auth/signup", { email, password, name, phoneNumber, agreements } ); cookies.set("accessToken", data.access, { expires: 1 }); cookies.set("refreshToken", data.refresh, { expires: 7 }); } /** 이미 생성된 계정의 토큰을 발급받습니다. */ async login(email: string, password: string) { const { data } = await axios.post( process.env.NEXT_PUBLIC_API_HOST + "/auth/login", { email, password } ); cookies.set("accessToken", data.access, { expires: 1 }); cookies.set("refreshToken", data.refresh, { expires: 7 }); } } export default new AuthService();
미션 : AuthService 모듈화
세부 사항
어떻게 해결 할것인가
ToDo List