Spring Security(18)
-
ch15 Implementing an OAuth 2 resource server
이 챕터는 다음을 다룹니다:Implementing a Spring Security OAuth 2 resource serverUsing JWT tokens with custom claimsConfiguring introspection for opaque tokens or revocationImplementing more complex scenarios and multitenancy이 챕터에서는 OAuth 2 시스템에서 백엔드 애플리케이션을 보호하는 방법에 대해 설명합니다. OAuth 2 용어에서 리소스 서버라고 부르는 것은 단순히 백엔드 서비스입니다. 14장에서 Spring Security를 사용하여 OAuth 서버 역할을 구현하는 방법을 배웠다면, 이제 OAuth 서버가 생성한 토큰을 사용하는 방법에 대..
2024.12.17 -
ch14 Implementing an OAuth 2 authorization server
이 챕터에는 다음을 다룹니다:Implementing a Spring Security OAuth 2 authorization serverUsing the authorization code and client credentials grant typesConfiguring opaque and non-opaque access tokensUsing token revocation and introspection 13장에서 우리는 OAuth 2와 OpenID Connect에 대해 다루었습니다.OAuth 2 명세[specification]를 기반으로 인증 및 권한 부여가 이루어지는 시스템에서 역할을 하는 주요 주체들에 대해 논의했으며, 권한 서버(Authorization Server)가 이 주체들 중 하나였습니다.권한..
2024.12.16 -
ch13 What are OAuth 2 and OpenID Connect?
보안과 원활한 인증 방법이 중요한 시대에 OAuth 2 및 OpenID Connect와 같은 프로토콜이 산업 표준으로 등장했습니다. 이 책의 이 부분은 이러한 프로토콜의 복잡성을 해체하여 그들의 메커니즘, 이점 및 잠재적인 위험 요소에 대한 빛을 발합니다. 13장에서는 두 프로토콜의 개요를 제공하고, 다양한 토큰 그랜트 유형을 설명하며, OAuth 2 내의 잠재적인 취약성을 강조합니다. 14장에서는 강력한 Spring Security 인가 서버를 설정하는 방법을 자세히 다루며, 클라이언트 세부 정보를 정의하고 암호 키를 관리하는 방법을 강조합니다. 15장에서는 견고한 리소스 서버를 설정하는 방법을 안내하며, 토큰 검사 및 리소스 보호를 강조합니다. 16장에서는 인가 서버에서 토큰을 얻고 리소스 서..
2024.03.03 -
ch12 Implement filtering at the method level
이 장에서는 다음을 다룹니다. - 메소드가 매개변수 값으로 받는 것을 제한하기 위해 사전 필터링 사용하기 - 메소드가 반환하는 것을 제한하기 위해 사후 필터링 사용하기 - Spring Data와 필터링 통합하기 11장에서는 전역 메소드 보안을 사용하여 권한 부여 규칙을 적용하는 방법을 배웠습니다. @PreAuthorize와 @PostAuthorize 어노테이션을 사용하는 예제를 다뤘습니다. 이 어노테이션들을 사용함으로써, 애플리케이션이 메소드 호출을 허용하거나 완전히 거부하는 접근 방식을 적용합니다. 메소드 호출을 금지하고 싶지 않지만, 메소드에 전달된 파라미터가 일정 규칙을 따르는지 확인하고 싶다고 가정해봅시다. 또는, 다른 시나리오에서, 누군가가 메소드를 호출한 후에, 메소드의 호출자가 반환된 값의 ..
2024.03.03 -
ch11 Implement authorization at the method level
이 장에서 다룰 내용은 다음과 같습니다.스프링 애플리케이션에서의 메소드 보안Authorities, roles 및 permissions 에 기반한 메소드 사전 승인 Authorities, roles 및 permissions 에 기반한 메소드 사후 승인 지금까지 우리는 인증을 구성하는 다양한 방법에 대해 논의했습니다. 우리는 2장에서 가장 간단한 접근 방식인 HTTP Basic 인증으로 시작했고, 그 다음 6장에서 Form 로그인을 설정하는 방법을 보여주었습니다. 하지만 권한 부여 측면에서는 엔드포인트 레벨에서의 구성만 논의했습니다. 만약 여러분의 앱이 웹 애플리케이션이 아니라면, 스프링 시큐리티를 인증과 권한 부여에도 사용할 수 없을까요? 스프링 시큐리티는 앱이 HTTP 엔드포인트를 통해 사용되지 않는 시..
2024.03.03 -
ch10 Configuring Cross-Origin Resource Sharing(CORS)
이 장에서는 다음을 다룹니다.교차 출처(Cross-Origin) 리소스 공유(CORS)란 무엇인가 교차 출처 리소스 공유 구성 적용하기 이 장에서는 교차 출처 리소스 공유(CORS)에 대해 논의하고 Spring Security와 함께 적용하는 방법을 다룹니다. 먼저, CORS란 무엇이며 왜 중요한가요? CORS가 필요한 이유는 웹 애플리케이션에서 비롯되었습니다. 기본적으로, 브라우저는 사이트가 로드된 도메인 이외의 어떤 도메인에 대한 요청도 허용하지 않습니다. 예를 들어, example.com에서 사이트에 접근할 경우, 브라우저는 사이트가 api.example.com에 요청을 하는 것을 허용하지 않습니다. 그림 10.1은 이 개념을 보여줍니다.웹 개발을 하다 보면 다른 출처(origin)의 리소스를 사용..
2024.03.03