본문 바로가기

IT57

[Server] OAuth의 개념 및 프로세스 OAuth란?먼저 OAuth의 정의부터 살펴보면 다음과 같다. OAuth(”Open Authorization”)는 인터넷 사용자들이 비밀번호를 제공하지 않고,다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로 사용되는, 접근 위임을 위한 개방형 표준이다. 여러 웹을 살펴보다 보면 Google, Kakao, Naver 등 외부 소셜 계정을 기반으로간편하게 회원가입 및 로그인을 할 수 있는 웹 애플리케이션이 많이 존재한다.이를 통해 간편하게 로그인을 할 수 있고, 연동되는 외부 애플리케이션에서 제공하는 기능을 간편하게 사용할 수 있다는 장점도 존재한다.예를 들어 Google로 소셜 로그인을 진행하면 Api를 통해 연동된 계정의 Google Cale.. 2024. 9. 8.
[Spring boot] Spring Security Jwt Rest Api 구현 Spring Security 기본 구현이전 포스트에서는 Spring Security의 기본적인 세션 인증 방식으로 구현해 보았다.Spring Security의 기본 구현에 대한 내용은 아래 포스트를 참고하면 된다. [Spring boot] Spring Security 기본 구현Spring Security이전 포스트에서는 Spring Security의 기본 구조에 대해서 살펴보았다.Spring Security의 기본 구조에 대한 내용은 아래 포스트를 참고하면 된다. [Spring boot] Spring Security 구조 이해Spring Securitykyu-nahc.tistory.com해당 포스트에서는 Spring Security를 사용하여 Jwt 토큰 인증 방식을 구현할 것이다.Jwt 토큰 인증 방식.. 2024. 9. 6.
[Spring boot] Spring Security 기본 구현 Spring Security이전 포스트에서는 Spring Security의 기본 구조에 대해서 살펴보았다.Spring Security의 기본 구조에 대한 내용은 아래 포스트를 참고하면 된다. [Spring boot] Spring Security 구조 이해Spring SecuritySpring Security는 애플리케이션 보안(인증, 인가, 권한)을 담당하는 스프링 하위 프레임워크이다.보안 옵션을 많이 제공해 주고 복잡한 로직 없이도 어노테이션으로도 설정이 가능하며,kyu-nahc.tistory.com해당 포스트에서는 Spring Security에서 기본으로 제공하는 세션 인증 기반 코드이다.Spring Security를 사용하여 Jwt Server 혹은 OAuth 소셜 로그인을 구현할 수 있으며,이에 .. 2024. 9. 5.
[Spring boot] Spring Security 구조 이해 Spring SecuritySpring Security는 애플리케이션 보안(인증, 인가, 권한)을 담당하는 스프링 하위 프레임워크이다.보안 옵션을 많이 제공해 주고 복잡한 로직 없이도 어노테이션으로도 설정이 가능하며,여러 보안 위협 방어 및 요청 헤더도 보안 처리를 해준다.기본적으로 스프링 시큐리티는 세션 기반 인증을 제공한다.세션, 토큰 기반의 인증과 인가에 대한 내용은 아래 포스팅을 참고하면 된다. [Server] 토큰 기반 인증 & 세션 기반 인증Authentication (인증) /  Authorization (인가) 세션 기반 인가와 토큰 기반 인가에 대해 알아보기 이전에 먼저, 인증과 인가가 무엇인지부터 알아야 할 필요가 있다. 인증과 인가를 같거나 비슷한 개념kyu-nahc.tistory.c.. 2024. 9. 4.
[Java] Java Strategy Pattern Strategy PatternStrategy 전략 패턴은 실행(런타임) 중에 알고리즘 전략을 선택하여 객체 동작을 실시간으로 바뀌도록 할 수 있게 하는 행위 디자인 패턴이다.여기서 '전략'이란 일종의 알고리즘이 될 수 도 있으며,기능이나 동작이 될 수도 있는 특정한 목표를 수행하기 위한 행동 계획을 말한다.즉, 어떤 일을 수행하는 알고리즘이 여러 가지 일 때,동작들을 미리 전략으로 정의함으로써 손쉽게 전략을 교체할 수 있는, 알고리즘 변형이 빈번하게 필요한 경우에 적합한 패턴이다.이 패턴을 정책이라고도 하며, Strategy Pattern은 Open/Closed 원리를 기반으로 한다.메인 Context를 수정할 필요 없이 (Closed) 모든 구현을 선택 혹은 추가 (Open) 할 수 있다. Strate.. 2024. 8. 29.
[Spring boot] AOP (Aspect Oriented Programming) AOP ( Aspect Oriented Programming )AOP는 관점(Aspect) 지향 프로그래밍으로, 관점을 기준으로 다양한 기능을 분리하여 보는 프로그래밍이다. 관점(Aspect)이란, 부가 기능과 그 적용처를 정의하고 합쳐서 모듈로 만든 것이다. 여기서 관점은 공통 관심 사항과 핵심 관심 사항으로 나눌 수 있다.공통 관심 사항 : 보안, 로깅, 성능, 파일 입출력핵심 관심 사항 : 개발자가 구현하는 비즈니스 로직단 여기서 Spring AOP는 Spring Bean에 적용이 가능하다.Spring Bean 객체의 메소드 호출을 인터셉트한다면,Spring Bean 객체의 해당 메소드가 호출되기 전에 인터셉트하고 특정 로직을 실행되게 할 수 있다.즉 인터셉트를 통해 공통 관심 사항에 대한 로직을 .. 2024. 8. 28.

loading