![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bOzMuw/btrpZ9x2M8i/VA4XYt4RAY7QmwR6uKxz4K/img.png)
지난번에도 JWT 관련 인증 내용을 다룬적이 있었다. Spring Security + JWT 인증 초간단 연동 예제 Monolithic Architecture에서 Micro Service Architecture까지는 아니더라도 많은 부분이 API로 분리가 되고 이에 대한 인증의 필요성이 생겼다. Spring Security와 JWT를 이용하면 이런 API 서버간의 인증을 간단.. oingdaddy.tistory.com 초간단 연동 예제라고 했는데 뭐가 초간단이냐며 욕도 먹고 해서 이번에는 정말 다 빼고 내가 통신할 API 서버와 JWT 인증하는 부분에 대해서만 간략히 기술하려한다. Springboot로 샘플 프로젝트를 2개 만들었다. 하나는 API를 호출하는 역할을 하는 A 프로젝트, 다른 하나는 A로부..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bAzq8L/btqQ8MD0l26/XFKzulTG2mIHMIOpS3WKD0/img.png)
JWT를 사용하는것 자체가 암호화된 json 문자열로 전송을 하는건데 무슨 암호화 및 복호화를 또 하느냐!? 암호화가 된다 하더라도 jwt.io 에서 알고리즘만 알고 있다면 다시 복호화된 값으로 볼수 있다. 그래서 보통 JWT로 통신을 할때는 payload에 중요한 정보를 넣지 않는것이 권장이 된다. userId, expireTime 등등의 정보만 보통은 가지고 있다. 하지만 중요한 정보를 payload에 넣어야 될수도 있고 userId도 노출이 되면 안되는 경우도 있다. 이럴 경우에는 payload 부분을 암호화를 해줘야 한다. 서로 통신을 하는 것이므로 단방향 암호화는 사용할 수 없고 양방향 암호화를 사용해야 한다. 양방향 암호화의 대표적인 알고리즘은 AES(Advanced Encryption Sta..