일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- StringBuilder
- stream
- 인덱스
- KEVISS
- AOP
- DDL
- Test
- 재정의
- 테스트 코드
- SQL
- equals
- 필드 주입
- VUE
- redis
- lambda
- 열 속성
- jwt
- MSA
- 생성자 주입
- docker
- java
- hashcode
- static
- Spring
- DI
- 조합
- 바이너리 카운팅
- cache
- select_type
- jpa
- Today
- Total
목록jwt (2)
백엔드 개발자 블로그
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/YJj8S/btsGNanfvs5/wM9Y9Lu6zRkYRap6r2Zfxk/img.gif)
보통 사용자들은 인증으로 구글이나 카카오 로그인을 선호한다. 보안에 대한 신뢰도와 id, pwd를 일일히 기억하기 힘들기 때문이다. 이런 사용자들의 니즈를 파악하고 OAuth2를 사용하여 구글이나 카카오 로그인을 직접 구현해 보면서 글을 적어보았다. 용어 정리 Resource Owner : 개인 정보의 소유자를 말한다 (서비스 사용자) Resource Server : 개인 정보를 저장하고 있는 서버를 의미한다. (구글, 카카오, 네이버) Client : Resource Server로부터 인증을 받고자 하는 서버다. (우리가 개발중인 서비스의 서버) OAuth2 로그인 요청 처리 흐름 Resource Owner가 Client에 접근하기 위해 Resource Server의 로그인 창을 클릭한다. 로그인에 성..
JWT에 대해 설명하고 JWT 취약점을 발견 및 대응하기 위해 작성되었습니다. JWT 구조 [Base64(헤더)].[Base64(페이로드)].[서명] eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Illlc29uZyBMZWUiLCJpYXQiOjE1NzQ3NTk2OTZ9. NHbhguwzhrt0wDhT26rIMfhyCM6oIevtxDSvAC_0N9A 헤더(Header) { "typ" : "JWT", "alg" : "HS256" } 페이로드(Payload) { "sub" : "1234567890", "name" : "kep", "iat" : 1574759696 } 서명(Signature) HMACSHA256(base64Ur..