백준 1단계 no.4 public class Main{ public static void main(String[] args) { System.out.println("|\\_/|"); System.out.println("|q p| /}"); System.out.println("( 0 )\"\"\"\\"); System.out.println("|\"^\"` |"); System.out.println("||_/=\\\\__|"); } } 매일코테 2022.07.18
백준 1단계 no.3 public class Main{ public static void main(String[] args) { System.out.println("\\ /\\"); System.out.println(" ) ( ')"); System.out.println("( / )"); System.out.println(" \\(__)|"); } } escape 문자는 앞에 '\'를 적어서 표시하자 매일코테 2022.07.18
백준 1단계 No.2 public class Main{ public static void main(String[] args) { System.out.println("강한친구 대한육군"); System.out.println("강한친구 대한육군"); } } 매일코테 2022.07.18
백준 단계별 문제 첫 도전 처음 문제를 풀다보니 형식을 아예 모르는 점이 크다..."Hellow world!"출력하는데 4번틀렷다... public class Main { public static void main(String[] args) { System.out.print("Hello World"); } } 매일코테 2022.07.18
springSecruty+JWT+react+Oauth2 여기는 드는 의문 : 나는 로그아웃 했는데 db에 남아 있는 refreshToken 때문에 멋대로 accessToken이 발급 되면 어쩌지... -> 일단 setInterval(accessToken의 주기적 재발급)의 경우 로그아웃하면 멈추도록 했음, 기존의 refreshToken의 경우 Oauth2로그인 시 해당 username의 refreshToken은 삭제하도록 되어 있음, 그래도 logout시 db의 refreshToken을 삭제하면 refreshToken이 탈취당하더라도 내 정보를 좀 더 지킬 수 있을 것 같다는 생각이 들어 구현해볼 예정 개인 프로젝트/블로그 2022.07.18
springSecruty+JWT+react+Oauth2 (react) : 임시 로그인 페이지 import { Badge } from "react-bootstrap"; import React from "react"; import { useNavigate } from "react-router-dom"; const Login = () => { const navigate = useNavigate(); const handleLogin = () => { window.location.href = `http://localhost:8080/oauth2/authorization/google`; }; const handleLogout = () => { //accessToken과 refreshToken을 지움 localStorage.removeItem("Tnut's accessToken"); .. 개인 프로젝트/블로그 2022.07.18
springSecurity+react+Oauth2 전체 흐름 구글로 로그인 클릭 */oauth2/authorization/* 을 통해서 로그인 하면 해당 회원 정보를 받아서 권한등 user정보를 저장 accessToken과 refreshToken을 jwt로 발급해서 프론트에 전달 후 localStorage에 저장 후 요청시 꺼내서 씀 refreshToken은 DB에 저장하여 accessToken 재발급에 사용 개인 프로젝트/블로그 2022.07.18
springSecurity+react+Oauth2(google)+jwt (Spring) 여기저기서 참고한 자료들을 가지고 혼자서 구현해 본 것이라 예외처리라던지 다소 불안정한 요소가 많지만 나중에 다듬을 때 참고하기 위해서 작성, 글 순서는 대략적인 구현 순서임, 일반 로그인은 구현 안함 오직 Oauth2로만 로그인 하도록 되어 있음 참고한 자료들: https://docs.spring.io/spring-security/reference/servlet/oauth2/resource-server/bearer-tokens.html OAuth 2.0 Bearer Tokens :: Spring Security By default, Resource Server looks for a bearer token in the Authorization header. This, however, can be cust.. 개인 프로젝트/블로그 2022.07.18
로그 아웃 고민 방법 1: logout을 하면 AccessToken에 임의의 값을 넣어준다 -> 매우 간편 -> 리액트에서 조건부 렌더링을 할 때 어떻게 해야할까... 방법 2: logout을 하면 localStorage를 비운다. -> 조건부 렌더링이 비교적 간단함 -> db에 남아 있는 refreshToken은 어떻게 되는 거지? 선택 방법 2: 방법 1은 후에 login된 사용자로 조건부 rendering을 할 때 localstorage의 accessToken값의 유무로 하기 어렵다고 판단, 방법 2의 db의 refreshToken의 경우 로그아웃시 요청으로 지울 예정 개인 프로젝트/블로그 2022.07.18
refresh 토큰 후처리 고민 accessToken이 만료되어 refresh 토큰을 검증하는 단계로 옴 refresh 토큰 -refresh 토큰이 만료되었다면 -> 로그인 재시도 -refresh 토큰이 유효하다면 ->ⅰ) 요청에 응답 후 access토큰 재발급 ->ⅱ) access 토큰 재발급 후 해당 access 토큰 으로 재요청 고민에 대한 답: refresh 토큰은 요청에 대한 응답을 위한 토큰이 아님 access토큰을 재발급해주기 위한 토큰으로 ii ) 로 선택 개인 프로젝트/블로그 2022.07.17