팀 프로젝트를 진행하며 다음과 같은 요구사항이 발생했습니다. 1. 특정 워크스페이스 구성원인지 식별할 수 있어야 한다 2. 내부 구성원이라면 해당 사용자를 식별할 수 있는 정보를 확보해야 한다 이를 구현할 방법에 대해 탐색한 결과를 간단히 기록해봅니다 OAuth Flow OAuth Flow 를 이해하는 데에 시간이 많이 필요했습니다. 레벨2에서 인증, 인가를 학습하며 RFC 문서를 통해 인증 서버와 자원 서버를 구분하여 사용한다는 개념은 미리 습득해두었지만, 이를 하나의 사용자 관점에서만 접근했었기 때문에 미싱 링크가 존재했습니다. 사용자와 두 개의 서비스가 존재할 때, 서비스 A는 사용자에 대한 인증을 서비스 B에 의존하는 상황이라면 상호작용하는 대상이 셋이 되고, 이 경우에 대한 이해가 추가적으로 필..
JJWT 라이브러리 선택 이유 및 간단한 소개 기술의 선택에는 이유가 있어야 한다! jwt.io 홈페이지의 라이브러리 중 java를 지원하는 목록을 살펴봤습니다. jjwt가 가장 많은 암호화 알고리즘과 편의메서드를 제공하는 것으로 확인됩니다. 비슷한 수준의 기능을 제공하는 다른 라이브러리도 있지만, 많은 사람들이 이미 선택하고 사용하여 레퍼런스가 많고 커뮤니티가 형성되어 관리되고 있다는 점도 매력 포인트입니다. RFC 명세를 완전히 충족했고, 100%의 테스트 커버리지를 통해 안정성을 제공한다는 점도 매력적입니다. 추가적으로 명세를 넘어서는 편의 기능도 제공하는데요, 특정 클레임이 반드시 존재해야 한다 라는 조건 등도 설정할 수 있고, Body 압축 기능도 제공합니다. 또한 특정 알고리즘을 이용한 비밀..
😃 JWT와 세션, 현재까지의 학습 결과는 세션이 훨씬 매력적이네요! 최근 인증과 인가를 학습하며 JWT와 세션 방식을 대조하며 학습하고 있습니다. 현재까지 학습한 결과는 다음과 같습니다. 세션 방식이 압도적으로 우선 선택되어야 하며, 일부 토큰 방식이 더 적합한 케이스가 있을 가능성을 배제할 수는 없으나 현재까지는 그러한 케이스를 발견하지 못했다. 이렇게 생각하게 된 이유는, 세션의 단점으로 지적되고 있던 부분들이 이미 해소되었다고 생각하기 때문입니다. 전통적으로 꼽는 세션 방식의 가장 큰 단점이 서버 부하, 확장에 막혀있음 이라고 생각하는데요, 이러한 단점들은 이미 해소되었다고 느껴져서 세션의 강력한 장점인 서버의 로그인 유지 통제 용이성을 가져가는 게 나은 것 같습니다. 💾 중립적인 공간에 세션을..