본문 바로가기

전체 글

(46)
[항해99] TIL 24.04.08 🥇 OAuth 2.0 사용의 장점 회원가입 및 사용자 관리 OAuth 2.0을 사용하면 외부 서비스 (카카오, 네이버 등)의 사용자 정보를 기반으로 새로운 회원을 생성하거나 기존 회원을 인식할 수 있습니다. 사용자가 새로운 서비스에 가입하는 프로세스를 줄이고, 사용자 관리를 효율적으로 할 수 있습니다. 소셜 로그인 통합 다양한 소셜 로그인 제공업체 (카카오, 네이버 등)를 통합할 수 있습니다. 사용자는 자신이 편안한 방식으로 로그인할 수 있고, 개발자는 다양한 소셜 로그인 제공업체를 지원하여 사용자들에게 다양한 선택지를 제공할 수 있습니다. 보안 OAuth 2.0은 클라이언트와 리소스 소유자 간의 인증 및 권한 부여를 위한 개방형 표준 프로토콜입니다. 사용자의 민감한 정보를 앱에 제공할 때, 애플리케이션..
[항해99] WIL 24.04.07 BE 리프레시 토큰 저번주에 WIL 쓰는 것을 깜빡했는데, 소셜 로그인 구현을 완료하고 이번주에는 리프레시 토큰 구현을 했다. 저번주 내용에서 좀 짚고 넘어가고 싶었던 내용은 OAuth에 관한 이야기다. OAuth와 OAuth2 OAuth(개방형 인증)와 OAuth 2.0은 서로 관련되어 있지만 인증 및 웹 리소스에 대한 액세스 권한 위임에 사용되는 별개의 프로토콜 OAuth 1.0 대 OAuth 2.0: OAuth 1.0은 OAuth 프로토콜의 원래 버전인 반면, OAuth 2.0은 OAuth 1.0의 한계를 개선한 더 새롭고 포괄적인 프로토콜입니다. 복잡성과 단순성: OAuth 1.0은 일반적으로 OAuth 2.0보다 더 복잡한 것으로 간주됩니다. OAuth 2.0은 이전 버전에 비해 더 간단하고 유..
[스터디] 네이버, 카카오 소셜 로그인과 RefreshToken 카카오 로그인 과정 1. 카카오 로그인 1. 사용자가 서비스에서 카카오 로그인 버튼을 클릭합니다. 서비스는 카카오 인증 서버로 인가 코드 발급을 요청합니다. 2. 카카오 인증 서버는 사용자에게 인증을 요청합니다. - 카카오톡으로 로그인: 카카오톡 실행, 카카오톡에 연결된 카카오계정의 자격정보(Credentials)로 사용자 인증 - 카카오계정으로 로그인: 계정 정보를 입력해 로그인하는 화면 출력, 해당 카카오계정의 자격정보로 사용자 인증 3. 카카오 인증 서버는 사용자 인증 성공 시, 서비스 앱의 동의항목 설정을 바탕으로 사용자에게 동의 화면을 출력합니다. 4. 사용자가 필수 동의항목에 동의하고 로그인을 요청하면, 카카오 인증 서버는 인가 코드(Authorization Code)를 발급해 서비스 앱에 등..
[스터디] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - Spring Security, JWT Spring Security는 강력한 사용자 정의가 가능한 인증 및 액세스 제어 프레임워크 인증: 데이터베이스, LDAP, OAuth 등과 같은 다양한 소스에 대해 사용자를 인증하기 위한 강력한 메커니즘을 제공함. 폼 기반 인증, HTTP Basic, HTTP Digest, OAuth 등 다양한 인증 방식도 제공 권한 부여: 개발자가 사용자 역할, 권한이나 표현을 기반으로 액세스 규칙을 정의할 수 있도록 해서 세분화된 액세스 제어를 가능하게 해줌. 보안 필터: Servlet API와 통합되어 들어오는 요청을 가로채고 보안 검사를 적용함. 필터 체인을 사용하여 인증, 권한 부여, 세션 관리, CSRF 보호 등과 같은 작업을 수행 세션 관리: 세션 고정 보호, 동시 세션 제어, 세션 시간 초과 처리 및 세션..
[항해99] WIL 24.03.23 FE & BE 클론 프로젝트 이번주는 각 조마다 원하는 프로그램을 정해서 클론 코딩을 했다. 우리 조는 인스타그램으로 결정하고, SA를 작성했다. 근데 기능 구현을 하다보니까 많이 추가가 됐다. 내가 맡았던 부분은 팔로우, 언팔로우, 팔로워 목록조회, 팔로잉 목록조회, 좋아요 부분이였는데, 생각보다 빨리 끝나서 댓글 CRUD까지 구현하게 되었다. 다른 분이 하던 곳에서 구현이 안된 부분이 많아 나눠서 해보기로 했었다. 근데 그 중에서 팔로우하는 사람 게시물 조회를 했어야하는데, 이 부분 구현하는게 너무 어려웠다. 어떻게 해야할 지 감도 안잡혀서 gpt한테도 많이 물어보고 다른 사람이 했던 깃허브도 찾아봤는데 참고가 될만한 자료를 찾을 수 없었다. 그래도 천만다행인 부분은 우리 팀에 코드를 잘 짜시는 분이..
[스터디] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 머스테치로 화면 구성하기 머스테치와 Thymeleaf 차이점 1. 구문 Thymeleaf: HTML과 완벽하게 통합되는 정교한 구문을 가지고 있음 -> th:text, th:if, th:each 등과 같이 th: 접두사가 붙은 속성을 사용하여 변수 대체, 반복 및 조건부 렌더링과 같은 작업을 수행함 Mustache: 간단하고 직관적인 구문을 사용. 논리가 없고 변수 대체를 위해 {{ }}, 조건부 렌더링을 위해 {{# }} 및 {{^ }}와 같은 태그를 사용함. 2. 특징 Thymeleaf: 조건문, 반복, 국제화, 조각 포함, 양식 바인딩 등을 포함한 광범위한 기능을 제공함 (Mustache에 비해 기능이 더 풍부) Mustache: 의도적으로 단순하게 유지되었고, 고급 기능들을 지원하지 않음. 주로 논리 없이 데이터를 렌더링..
[항해99] WIL 24.03.16 FE & BE 미니 프로젝트 이번주는 처음으로 프론트와 함께 진행했다!! 처음에 각자 와이어프레임 만들고 발표했는데, 진짜 너무 잘하셔서 깜짝 놀랐다.. 뚝딱뚝딱 하시는데 나는 그것도 못해서 ppt로 만드는게 너무 자괴감 들었다...ㅠㅠ 그리고 처음에는 기본 CRUD만 구현하려고 했었는데, 점점 욕심이 생기다 보니까 좋아요 기능, 선택지 기능까지 추가되어버렸다 ㅎㅎㅎ 그런데 계속 이야기 하다보니까 서로 용어(?)가 다른 부분이 굉장히 많아서 소통에 어려움이 좀 있었다. 그 중 토큰 관련된 이슈에 대해 많은 이야기를 나눴는데, 서로 이해를 못해서 결국 매니저님이 소통을 도와주셨다. (감사합니다 김태현 매니저님..) 코드 오류 수정하고 api 명세랑 다른 부분 등등 계속 수정을 하다보니까 배포가 늦는 바람에..
[항해99] 도메인 구매하고 AWS EC2에서 http -> https 변경하기 (+AWS 배포 방법) HTTP(Hypertext Transfer Protocol)와 HTTPS(Hypertext Transfer Protocol Secure) 인터넷에서 데이터를 전송하는 데 사용되는 프로토콜 이 두 프로토콜은 웹 브라우저와 웹 서버 간의 통신을 가능하게 해줌 HTTP HTTP는 클라이언트(웹 브라우저)와 서버 간에 데이터를 전송하기 위한 텍스트 기반의 프로토콜 HTTP는 기본적으로 보안이나 데이터 암호화를 제공하지 않으며, 데이터가 평문으로 전송 HTTP는 웹 페이지의 요청(request)과 응답(response)을 처리하는 데 사용 HTTP는 주로 웹 브라우저에서 웹 서버 HTML 문서, 이미지, 스타일 시트 등을 요청하고 받아오는 데 사용 URL 예: http://www.example.com HTTPS ..