728x90
반응형

keycloak 4

Java Client 로 Keycloak API 사용하기

Java Client 로 Keycloak API 사용하기 Keycloak 서버개발자 가이드문서를 참고하여 만든 자료입니다. Keycloak API 접근권한 할당하기 위 사진을 참고하여 API 요청을 위한 관리자 계정에 필요한 권한을 할당해준다. (맨 아래 참고자료 첨부) build.gradle implementation group: 'org.keycloak', name: 'keycloak-admin-client', version: '17.0.1' // Keycloak-admin-client 의존성인 resteasy-client 4.5.6 버전까지 취약점이 있어 아래 4개 의존성을 오버라이딩 한다. implementation group: 'org.jboss..

IT/Java 2022.12.20

Keycloak 인증이 필요한 Springboot API 를 Swagger 에서 사용해보기

사용환경 • Keycloak 인증서버 • Keycloak 의 OIDC 인증을 사용하는 Springboot 서버 (keycloak-spring-security-adapter 사용) • Springboot 서버의 API 를 제공하는 Swagger3 UI • 모두 하나의 서버(도메인은 example.net 으로 지칭)에서 Keycloak(8280포트) 과 Swagger(8180포트) 는 도커 사용, Springboot(9080포트) 서버는 호스트에서 실행 목표 구현하고자 했던 목표는 Springboot 서버에서 Keycloak 인증이 필요한 API 를 Swagger 에서 API 를 호출 해보고자 하는것이다. 예를들면 "내 정보 조회" 라는 API 는 로그인을 하여야 내가 누군지 알 수 있다. 하지만 이 로그인..

IT/스프링부트 2022.12.20

Front-end, Back-end, Keycloak 연결에 대한 정리

테스트 환경 1. Front-end - React, Swagger-UI 2. Back-end - SpringBoot - Spring Security Keycloak Adapter 3. Keyclaok 4. 인증방식 OIDC Bearer, JWT 사용 프로세스 1. 아래 그림은 타 시스템에서의 프로세스를 정리한 그림입니다. 세부적인 프로세스 1. Front-end 에서 로그인 버튼 클릭 (Keycloak 과 연결 설정이 되어있어야 함) 2. Keycloak Login 페이지 호출 및 로드 3. 로그인 수행 4. 인증이 필요한 Back-end API 호출 - HTTP Header 에 Bearer 인증타입의 암호화된 토큰(JWT)을 포함하여 API 호출 수행 (즉, Credentials 을 헤더에 넣어서 전송..

IT/보안 2021.08.23

SpringSecurity 와 Keycloak 비교

서론 SpringBoot 를 사용하는 백엔드에서 인증,인가,권한 에 대한 컨트롤을 하는 주체에 대해 비교하려고 한다. 두 개 모두 "사용자 관리 및 인증" 역할을 한다. 전제는 사내 SSO 오픈소스인 Keycloak 을 사용하는 경우 개별 서비스 백엔드를 SpringSecurity 로 구성하는게 좋을까? 아니면 Keycloak 을 사용하는게 좋을까? 본론 ### SpringSecurity 1. 기본용어 - 접근 주체(Principal) : 보호된 리소스에 접근하는 대상 - 인증(Authentication) : 보호된 리소스에 접근한 대상에 대해 누구인지 - 인가(Authorize) : 해당 리소스에 대해 접근 가능한 권한을 가지고 있는지 확인하는 과정(After Authentication, 인증 이후) ..

IT/스프링부트 2021.05.11
728x90
반응형