프로젝트를 하는 과정에 있어서 기록하는 것이다.
잘못된 부분이나 수정이 필요한 부분은 꾸준히 수정할 예정이다.
✅ 데이터 입출력 확인 및 MySQL Update로 작업 확인
- 이제 어느 정도 백엔드 작업이 틀이 많이 갖춰지게 되었다.
- 그래서 DB에 잘 들어가는지, 입출력이 잘 되는지 합쳐서 확인해보았다.
- 우선 지금 상태로는 잘 들어가고, 이제 여기서 권한과 유저 아이디를 받아와서 확인하는 작업을 거칠 것 같다.
- MySQL도 Update로 바꿔서 확인해보았다.
- 아래의 코드처럼 application.yml 파일을 수정해주었다. (그 전에는 ddl-auto를 create로 해주었다.)
- MySQL 워크 벤처로 조금 쉽게 접근해서 확인하였다.
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
password: [패스워드]
url: jdbc:mysql://localhost:3306/[DB 이름]?serverTimezone=UTC&characterEncoding=UTF-8
username: [유저 네임]
jpa:
hibernate:
ddl-auto: update
show-sql: true
properties:
hibernate:
format_sql: true
- ddl - auto 값 설명
- create : 기존 테이블 삭제 후 재생성 (DROP + CREATE)
- create-drop : create와 같으나 종료시점에는 테이블 DROP
- update : 변경 분만 반영됨
- validate : 엔티티 정상 매핑 확인
- none : 사용하지 않음. (관례상)
- 운영 시, create, create-drop, update는 절대 사용하면 안됨
- 이번에 이렇게 update로 하는 이유 : 기본적인 데이터를 넣어서 출력해보고싶다고 프론트 측에서 요청이 들어왔기 때문!
- 아마 이번 주중으로 같이 합쳐서 돌려보지 않을까 한다.
- update라 데이터를 저장해놓고 나중에 다시 돌려도 데이터 값이 그대로 있다. (우측 사진의 created_At 참조)
✅ OAuth2 구현해보기
- 실습했던 예제를 따라해도 계속해서 잘 되지 못했다.
- 오늘 드디어 OAuth2 PostMan은 응답이 나왔다.
- 하지만 사이트로 접속하면 아직도 redirect_uri가 잘못되었다고 뜬다...
- 근데 제대로 제공했다는 게 함정... 뭐가 문제일까.
- 위의 사진은 로컬 호스트로 접속한 것 --> 그 뒤에는 막혔다.
- 아래 코드에 적힌 주소로 접근
- https://accounts.google.com/o/oauth2/auth?client_id=[클라이언트아이디]&redirect_uri=[주소]&response_type=code&scope=https://www.googleapis.com/auth/drive.metadata.readonly
- 위는 포스트 맨의 헤더 요청을 같이 날려본 것이다
- 근데 전에 다른 걸로 작업을 했을 때에는 헤더로 잘 들어왔는데... 왜 안되는 지는 사실 모르겠다 아직
- http://localhost/home?access_token=[accessToken]&refresh_token=[refreshToken]로 들어온걸 직접 확인했기 때문이다.
✅ JWT 로그아웃 구현
- .login().disable() 처럼 .logout().disable() 해야한다.
- Redis를 공부해보고 있는데 아직 어려운 것 같다.
- LogoutFilter를 구현해서 적용할 수 있는지 확인해보면 좋을 것 같다.
- AccessToken, Refresh Token의 관리가 프론트에서 정확히 어떻게 되는지 내일 확인해 볼 것!
✅ OAuth2 & 자체 로그인 동시 구현 현황(?)
- 레퍼런스들을 보았는데, 지금은 안 쓰는 클래스나 어노테이션을 참고하는 걸 많이 보았다.
- 우선 첫 번째로 동시 구현하는데, 안되면 나중에 혼자서라도 여러 개의 소셜 로그인을 구현해 볼 것.
- 대부분의 레퍼런스나 예제들이 Form Login과 같이 구현하는데, 이것도 나중에 혼자라도 해 보기!
🔥 내일 할 것
- JWT Logout 공부
- Logout Filter 공부
- Token 이용해서 권한 유지(?) 혹은 확인 하는 거 찾아보기 (@ResquestHeader)
- OAuth2 포기하지 말고 계속 도전
- 동시 구현도 포기하지 말고 계속 찾기
'Study in Bootcamp > Pre-Project' 카테고리의 다른 글
[Pre-Project] Day 12 + 주말 : CORS 해결 및 유저 정보 판별 (0) | 2022.11.07 |
---|---|
[Pre-Project] Day 11 : SQL 데이터 넣기 (0) | 2022.11.04 |
[Pre-Project] Day 9 : Spring Security (0) | 2022.11.02 |
[Pre-Project] Day 8 : JWT 이용한 로그인 및 권한 부여 (0) | 2022.10.31 |
[Pre-Project] Day 7 : CheckStyle Convention Build (0) | 2022.10.28 |
댓글