본문 바로가기
728x90
반응형

분류 전체보기142

OAuth 인증 과정 목차 저번에 프로젝트에서 구글 로그인과 구글 드라이브에 있는 파일들을 공유하는 기능을 구현했고, 이때 OAuth를 사용해 회사의 서비스가 구글에 접근할 수 있는 권한을 얻게 되었다. OAuth의 원리에 대해 공부를 딥하게는 하지 못한채로 프로젝트를 끝낸것 같아 글로 정리하고 세미나를 진행해보기로 했다. OAuth를 설명하기 이전에 왜 OAuth를 사용해 다른 서비스에 접근하는 권한을 획득하는 방법을 사용하는지에 대해 생각해봤다. 사실 그냥(google을 예로 들겠다) ID/PW를 우리의 서비스에 저장한 채로 구글에 보내 접근 권한을 획득하는 것이 루트도 짧고 편하지만, 사용자는 자신의 아이디와 비밀번호와 같은 개인정보를 처음보는 서비스에 맡기기에는 부담이 있다. 또한 우리 회사의 입장에서 노출되면 안되는.. 2024. 1. 24.
인증과 인가 목차 보안 프로세스인 인증과 인가에 대해서 설명해보려고 한다. 로그인 기능을 구현할 때 인가코드, 인증 이러한 용어들을 듣게 되는데 정확히 뭔지 궁금해져 공부해보게 되었다. 인증(소셜 로그인) 인증은 식별 가능한 정보로 보호된 리소스에 접근하는 것을 허용하기 이전에 서비스에 등록된 유저의 신원을 입증하는 과정이다. 예를 들어 출국할 때 여권으로 신원을 입증하거나 회사에 들어올 때 출입증을 통해 신원을 입증할 수 있다. 웹의 경우에는 아이디와 패스워드를 입력하거나 휴대폰에 전달된 SMS에 적혀있는 코드를 입력하는 것이다. 인가(OAuth) 인가는 요청된 리소스에 접근할 수 있는 권한이 있는 인증된 유저인지 입증하는 과정이다. 예를 들어 회사가 14층에 위치하고 있다면 13층에 위치한 다른 회사에는 접근할 .. 2024. 1. 23.
TS와 Zode 비교하기 목차 JS를 쓰고 있는 나는 타입 정의를 위해 TS를 사용하고 있다. 근데 팀원 중 한 분이 Zod를 쓰고 싶어하시길래 도대체 장점이 뭐길래? 라는 의문점이 생겨 알아보기 시작했다. 엄격한 유효성 검증을 위해 사용되는 Zod Zod가 TS보다 강력한 이유는 엄격한 유효성 검증을 하기 때문이라고 생각한다. 하지만 그 만큼 TS보다 작성해야하는 코드가 많다는 생각이 들었다. 어떤면에서 볼때는 강력하지만, 또 다른면에서 볼때는 오히려 난잡하다는 느낌이 들었기 때문이다. 하지만 그럼에도 불구하고 TS에 비해 강력하다고 느낀 강점은 아래와 같다. 1. 데이터 스키마, 즉 데이터 구조와 형식을 정의하기 때문에 TS보다 더 강력한 타입 검증이 가능하다. 컴파일 시 스키마에서 정의한 수준의 타입 검사가 발생하기 때문이.. 2024. 1. 17.
Google OAuth 2.0 로그인 구현하기 Google 로그인과 구글 드라이브의 파일과 비디오를 업로드하는 기능을 맡아 구현하게 되었다. Google 로그인은 물론 구글 드라이브를 연결해본 경험은 없었다. 호기롭게 시작했지만 많은 오류와 시련을 겪었다.. 변명아닌 변명을 해보자면 1. google 공식문서라고 믿으면 안된다.. (믿는 도끼에 큰 코 다친다고 공식문서는 업데이트도 되지 않았었고, 구글 로그인 관련된 코드를 관리하는 웹과 구글 드라이브 관련 코드를 관리하는 웹이 서로 다른 코드를 예제로 들고 있었다.) 2. svelte로 작성된 코드가 없었기 때문에 JS 샘플코드만 가지고 svelte화 시키는 과정에서 시간이 소요되었다. 3. TS로 작성된 코드도 없었기 때문에 타입 지정하는데 어려움을 겪었다. 어쨌든 결과적으로 혼자서 Google .. 2024. 1. 15.
2024년 더 나은 FE 개발자가 되기 위한 목표 개발자는 스스로를 회고하는 과정이 필수적이라고 생각한다. 그래서 작지만 큰 목표를 세워 이를 이루려고 한다. 1. DSA(Data Structures and Algorithm) 공부하기 2. React를 사용해 개인 프로젝트 하나 개발하고 꾸준히 업데이트 하기 (현재 회사에서는 svelte를 사용하고 있지만, react도 놓치면 안된다고 생각한다.) 3. 스프린트가 끝난 후 에러로그 작성 및 큰 이벤트 관련하여 블로깅 작성하기 4. 문제를 근본적으로 해결하기 위해 노력하고 그 과정을 기록하기 5. 질문하는 스킬과 의견을 공유하는 스킬을 성장시키기 참고자료 google tech dev guide 2024. 1. 12.
728x90
반응형