본문 바로가기

Oauth24

[Security-OAuth2] Authorization Code Flow도 ID / Password를 입력하는데 Password Grant만 안전하지 않다고 하나요 ? 개요OAuth2의 인증 방식중 Password Credentials 라는 것이 있습니다. 이는 ID와 Password를 입력하여 Access Token을 얻어서 Resource Server에 접근할 수 있는 메커니즘을 가진 인증 방식입니다. 그런데 이 방식은 취약한 방법으로 더이상 OAuth2에서는 권장하지 않는 방식입니다. 그리고 일반적으로 많이 사용하는 Authorization Code Flow 방식이 있습니다. 이는 인증을 한 후 Code를 통해서 Resource Server에 접근할 수 있도록 하는 인증 방식입니다. 이 또한 처음에 ID / Password를 입력받아서 인증하게됩니다.두개의 Type 모두 동일하게 유저는 ID와 Password를 입력하는데 왜 Authorization Code Fl.. 2024. 10. 1.
[Security] OAuth 2 Extension, Proof Key of Code Exchange(PKCE)에 대해서 알아보자 개요안녕하세요. 이전 포스팅 [OAuth2] OAuth2 개론 - 개요와 Authorization Code Flow을 통해서 OAuth2 개론을 알아보았습니다. OAuth2는 http 기반에서의 인증의 표준으로써 안전하게 토큰을 발급하고 이를 통해서 인증(Authentication)된 유저만 접근할 수 있도록 할 수 있습니다.하지만 기본 OAuth2는 네이티브 앱 또는 SPA 웹을 사용할 경우 authorization code interception attack을 당할 수 있습니다. 이 공격을 당하면 본인이 아닌 다른 유저가 token을 발급받을 수 있게됩니다. 따라서 이를 방지하기 위해서 OAuth 2.1의 업데이트의 하나로 Proof Key of Code Exchange(PKCE)가 있습니다.오늘은 .. 2024. 6. 9.
[OAuth2] spring-authorization-server를 이용하여 인증 서버(auth server) 만들기 안녕하세요. 이전시간까지 우리는 jwt란 무엇인지, OAuth2 스펙과 기본적인 flow에 대해서 각각 알아보았습니다.[JWT] JWT(Json Web Token)에 대해서 자세히 알아봅시다 - 이론편[OAuth2] OAuth2 개론 - 개요와 Authorization Code Flow이번 포스팅과 다음 포스팅에서는 OAuth2의 인증 서버와 리소스 서버를 실제로 구현해보도록 하겠습니다.이번 실습은 이전시간에 배운 authorize_code grant type을 토대로 진행합니다.오늘 실습에 대한 코드는 github Repository에서 확인하실 수 있습니다.spring-authorization-server의 등장기존에는 Spring Security에서 인증 서버를 구성할 수 있도록 지원하고 있었습니다.. 2023. 3. 18.
[OAuth2] OAuth2 개론 - 개요와 Authorization Code Flow 안녕하세요. 이전 포스팅에서는 jwt의 이론과 Java, Spring Boot에서의 실습을 진행해보았습니다.이번 시간에는 OAuth2의 기본적인 이론에 대해서 알아보도록 하겠습니다.그리고 이번 포스팅의 이론을 기반으로하여 다음시간에는 실습을 진행해보도록 하겠습니다.OAuth2란 ?OAuth(Open Authorization) 2.0는 HTTP 기반의 인증을 위한 업계 표준 프로토콜입니다. OAuth는 리소스를 소유하고 있는 소유자(Resource Owner)를 대신하여 리소스(Resource)에 대한 접근을 제어할 수 있습니다. 이 프로토콜은 접근하고자 하는 리소스를 소유하고 있는 리소스 소유자(Resource Owner)와 리소스 서버(Resource Server), 이를 사용하고자 하는 클라이언트(C.. 2023. 3. 11.