api 작성시 문제
오전에 백엔드 프론트의 api 관련 사항을 정의하고 이름을 정함
에러 메세지, 상태코드까지 정해줌
오후에 백엔드 register 테스트 및 시스템 알려줌
프론트 각 위치 라우터 지정
로그인 페이지에서 회원가입으로 가는 42api 만들어서 연결
회원가입페이지에서 테스트 데이터를 통한 api 테스트
export const signUp = async (data: signUpData): Promise<any> =>
await client.post(`/${data.userClusterName}`, {
accessToken: data.accessToken,
userPassword: '123',
userDeadline: '2022-01-29',
userEmail: '[email protected]',
});
이후 해당 더미 데이터와 같은 형식으로 보내주면 될것 (성공코드)
이때, deadline의 형식을 변경시켜 보내야할까(?)
회원가입(RegisterUser)
회원가입 시 비밀번호는 bcrypt 패키지를 이용해서 암호화 진행.
동일한 userClusterName이 회원가입을 시도할 경우 에러 발생.
로그인(Login)
bcrypt 패키지의 compare()를 통해 데이터베이스에 저장해둔 암호화된 비밀번호와 동일한지 여부를 체크.
비밀번호가 동일하다면 30분의 기간을 갖는 accessToken을 유저의 해시값(userID)와 함께 반환한다.
※ accessToken의 경우 일정시간마다 갱신을 요청 필요성
장점 : accessToken을 계속 갱신해줌으로써 오래 머물러도 기능 사용에 문제가 발생하지 않는다.
단점 : 따로 비용이 발생. 사이트의 규모가 그렇게 크지 않아 30분이면 모든 기능을 사용하기에는 충분하다고 생각함.