개발 · 프로그래밍

/

웹 개발

실습으로 마스터하는 OAuth 2.0: 기본부터 보안 위험까지

OAuth 2.0을 구글이나 깃헙같은 계정으로 간편 로그인을 사용해봐서 이미 친숙하게 느껴질지도 모릅니다. 소셜 로그인은 OAuth 2.0을 확장하여 만들어진 것으로 핵심 기술은 OAuth 2.0 인가 프레임워크에 있습니다. OAuth 2.0의 원리를 이해하면 그것을 바탕으로 필요에 맞게 적절히 구현하고 조정하는 능력을 기를 수 있습니다.

(4.8) 수강평 6개

수강생 69명

Thumbnail

초급자를 위해 준비한
[웹 개발, OAuth] 강의입니다.

이런 걸
배워요!

  • OAuth2.0

  • 소셜 로그인

OAuth 2.0 마스터하기: 기초부터 구현, 보안까지

소셜 로그인은 이제 대부분의 온라인 서비스에서 필수적인 기능으로 자리 잡았습니다. 사용자는 이 기능을 통해 간편하게 로그인할 수 있고, 서비스 제공자는 중요한 사용자 정보를 쉽게 수집할 수 있습니다. 또한, 다양한 로그인 옵션을 제공함으로써 사용자에게 선택의 폭을 넓혀주고 있습니다.

하지만 이러한 소셜 로그인 시스템을 구현하고 관리하는 과정은 단순히 친절한 문서를 따라 하는 것 이상을 요구합니다. 핵심 원리를 제대로 이해하지 않으면, 문제 발생 시 적절한 대처가 어렵습니다. 특히 OAuth 2.0과 같은 프레임워크를 활용한 로그인은 보안적 취약점에 대한 이해와 대처 방안을 요구합니다.

강의 내용

  1. OAuth 2.0의 기초: OAuth 2.0 프레임워크의 기본 원리를 배우고, 이 원리가 어떻게 실제 코드로 구현되는지 실습을 통해 확인합니다.

  2. 보안적 취약점 대응: OAuth 2.0 시스템의 보안적 취약점을 식별하고, 이를 방어하는 방법을 실습을 통해 배웁니다.

  3. 인증 프로토콜 확장: OAuth 2.0을 확장하여 OpenID Connect와 같은 인증 프로토콜을 구현하는 방법을 실습합니다. 이는 특히 인증을 대신 맡기는 수요가 증가함에 따라 더욱 중요해지고 있습니다.

이런 분들께 추천해요

간편 로그인 기능을
구현해야 하는 분

소셜 미디어 계정을 통한 로그인 기능을 자신의 서비스에 도입하고자 하는 개발자

간편 로그인은 구현했지만
원리가 궁금한 분

이미 소셜 로그인 기능을 서비스에 통합했으나, 그 작동 원리나 보안 측면을 깊이 이해하지 못한 분들

새로운 기술을 배우고자 하는 분

OAuth 2.0과 같은 인증 프로토콜을 처음 접하는 개발자나, 보다 깊은 이해를 원하는 개발자

수강 후에는

  • OAuth 2.0의 기본 개념과 원리를 완벽하게 이해하고, 각종 애플리케이션에서 이를 어떻게 활용하는지 알게 됩니다.

  • OAuth 2.0 구현 과정에서 발생할 수 있는 보안 취약점을 방어하는 전략을 세울 수 있습니다.

  • OAuth 2.0을 확장하여 OpenID Connect를 이해하고 구현할 수 있게 됩니다.

이 강의의 특징

핵심 특징과 차별점을 소개해보세요.

스크린샷 2024-04-19 오후 4.28.10

기초 개념에 대해 배워요

먼저 기술의 등장 배경과 동작 원리부터 배웁니다. 이 과정을 통해 대략적인 그림을 그리는 것이 목표입니다.

개념이 어떻게 코드로 구현되는지 직접 해봐요

머릿속에 그려진 그림이 코드로 직접 구현되는 것을 보면서 더 명확한 그림을 그리는 것이 목표입니다.

이 강의를 만든 사람

안녕하세요 한윤석입니다.
저는 배운 것을 다른 사람과 나누는 것을 좋아합니다. 내가 배운 좋은 지식을 다른 사람도 같이 배웠으면 좋겠다는 마음에 강의를 만들다가 코드숨을 시작하게 될 정도였으니까요.

그리고 같이 배우는 것도 좋아합니다. 서로 물어보고 알려주고 하면서 배우는게 더 재밌는 것 같고, 계속 성장할 수 밖에 없는 상황에 저를 밀어 넣는 것 같아서요. 그래서 스터디를 꾸준하게 운영하고 있습니다. 더 나아가 어떻게하면 더 좋은 시너지를 만들어낼 수 있을까 고민하고 있습니다.

열심히 배워서 다 퍼주기 위해 오늘도 열심히 노력하고 있습니다. 언젠가 개발자들이 더 이상 불안에 떨지 않으며 행복하게 개발할 수 있는 세상이 왔으면 좋겠습니다.

궁금한 점이 있나요?

Q. 실습 환경이 어떻게 되나요?

실습은 Next.js를 이용합니다. 클라이언트와 서버를 하나의 프로젝트로 작성할 수 있어서 더 간편할 것 같아 Next.js를 사용했습니다.

Q. 필요한 사전 지식이 있나요?

JavaScript에 대한 지식과 React에 대한 지식이 있으면 좋습니다. 하지만 없어도 이해할 수 있을 만큼 단순한 기능만 사용하기 때문에 없어도 무관합니다.

Q. OAuth 2.0을 어디까지 다루나요?

OAuth 2.0을 사용하여 서비스를 만들 때 필요한 지식들만 다룹니다. OAuth 2.0을 지원하는 인가 서버를 구축한다던가 리소스 서버를 구축하는 내용도 중요합니다. 하지만 직접 구축하는 경우가 흔치않기 때문에 이 강의에서는 OAuth 2.0을 사용하여 다른 서비스들을 만들 때 필요한 지식만 다룹니다.

수강 전 참고 사항

각 강의는 의도적으로 1. 이론 설명 동영상, 2. 강의 자료 텍스트, 3. 실습 영상으로 이루어져 있습니다. 그래서 꼭 다음과 같은 순서로 학습하시길 권해드립니다.

  1. 이론 동영상 강의를 보면서 대략적인 개념을 이해한다.

  2. 다음 강의 자료 텍스트를 읽으면서 동영상 강의에서 배웠던 것을 떠올린다.

  3. 실습을 보며 배웠던 이론이 코드로 어떻게 구현되는지 확인한다. 특히 이론적 내용이 실제로 동작하는 과정을 눈여겨 본다.

  4. 실습을 닫고 직접 타이핑 하며 만들어 본다. 이때 실습 영상을 그대로 따라치는 것이 아니라, 동영상을 끄고 내가 직접 해보다가 도저히 모르겠을 때 동영상을 살짝 참고만 하고 다시 닫고 실습을 진행한다.

이렇게 설계한 이유는 동영상 강의는 제가 말하는 속도에 맞춰야 하고 내용을 받아들이느라 정신이 없고 내가 제대로 이해했는지 인지하기 어렵습니다. 그래서 마치 다 알것 같은 착각에 빠지게 됩니다.

반면에 텍스트는 각자 나름의 속도로 읽고 잠시 멈춰서 생각에 잠기기도 하고 어느 한 단락이나 글 전체를 다시 읽기도 하면서 생각할 수 있기 때문입니다.

실습을 따라 치는 것은 별로 좋지 않습니다. 내가 직접 떠올려서 코드를 작성할 수 있어야 돼요. 이게 쉽지는 않겠지만 그만큼 더 배워가는 것은 많을 것입니다. 꼭 이렇게 해보세요.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 소셜 로그인 기능을 구현해야 하는 분

  • 인증 인가 프로토콜에 대해 자세히 배우고 싶은 분

선수 지식,
필요할까요?

  • 자바스크립트

  • 네트워크

커리큘럼

전체

10개 ∙ (1시간 15분)

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!