[Server]RDS적용, JWT를 사용한 로그인 구현
resilient
·2021. 1. 28. 14:22
5주 차 과제
- RDS 적용하기
- 회원용 API 만들기 (JWT 사용)
5주차 수업은 4주차 피드백을 받으면서 시작했다. 많이 미흡한 점이 보였다. API의 기본인 CRUD가 하나도 되지 않은 API들만 만들어봐서 뭐 많은 피드백도 받을 수 없었다. 이번 수업에서 다시한번 API를 이해하고, 감을 잡을 수 있었다.
팀원분들의 도움을 많이 받으면서 성장하고 있는거 같다.
5주차 과제는 미흡했던 4주차 과제를 마무리하고, AWS에서 제공하는 RDS를 내가 작업하는 DB에 적용해준뒤에, JWT를 이용해서 유저 로그인 기능을 구현 하는 것이다.
# RDS
먼저 RDS는 이블로그를 참고해서 만들어주고, 설정을 완료 할 수 있었다.
AWS RDS(Relational Database Service)는 클라우드에서 관계형 데이터베이스를 쉽게 설치, 운영 및 확장할 수 있는 관리형 서비스이다.말그대로 RDS는 EC2 인스턴스 처럼 AWS에서 데이터베이스를 제공해 주는 것이다. 내가 사용하고 있는 데이터들을 RDS로 옮겨주면 RDS를 아무런 문제없이 사용할 수 있었다.
# JWT
REST API에서 로그인은 일반적인 로그인과 그 방식이 다르다.
일반적인 로그인은 서버의 session을 통해 이루어지는데, 서버는 접속중인 클라이언트들을 이 session을 통해 관리한다. 사이트에 접속하면 session에 해당 클라이언트가 기록되고 로그인을 하게 되면 해당 클라이언트가 로그인한 것을 저장하게 된다. 이후 해당 클라이언트는 로그인이 요구되는 정보에 접근할 수 있게 된다. 이 방식은 접속자수가 늘어나면 서버의 메모리 사용량이 증가하게 되고 성능에 영향을 미치게 된다.. (서버를 증설하고 session관리용 서버를 분리하는 등의 작업을 통해 이를 극복할 수 있다.)
REST API에서는 서버가 session을 가지지 않는다. 물론 REST API서버에도 session을 추가하여 사용할 수 있지만 이는 REST가 지향하는 바가 아니다. 대신 REST API는 토큰(token) 인증방식을 사용하게 된다..
로그인 API로 아이디와 패스워드가 일치함이 확인되면 서버는 토큰을 발행하고, 로그인 후 이용가능한 API들에는 유효한 토큰이 있는 경우에만 사용할 수 있게 된다. 이때 토큰은 당연하게도 위조하기가 어려워야 하며 사용자를 인식할 수 있는 정보가 들어있어야 한다.
자세한 내용은 이 블로그를 참고해서 JWT를 구현해보려 한다.
'Back-end > Server & Cloud' 카테고리의 다른 글
[Server] Restful API란? (0) | 2022.03.29 |
---|---|
[Server] 토이프로젝트 (0) | 2021.02.16 |
[Server]MySQL,RDBMS,Query,ERD란? (0) | 2021.01.12 |
[Server]도메인적용,https적용,서브도메인,리다이렉션(redirection) (0) | 2021.01.07 |
[Server]포트포워딩,AWS EC2사용+Nginx+MySQL+Php (0) | 2021.01.06 |