분류 전체보기 288

8. [SSO] Keycloak User Storage SPI 번역해보기

1. 서론 keycloak 기본 예제는 어느정도 할 수 있게 되었습니다. 하지만 실제 디비에 적용시키기엔 무리가 있다는 것을 알게 되었습니다. 키클락에서 제공하는 칼럼 정보와 현재 회사에서 사용하고 있는 디비 칼럼구조와 다르기 때문에 이걸 어떻게 적용해야할지에 대한 고민을 많이 하게 되었고, 그러던 도중 User Storage SPI 라는 글이 있기에 번역해보면서 공부해보려 합니다. 해당 원문 링크는 여기에 있습니다. 2. 본론 사용자 스토리지 SPI를 사용하여 Red Hat Single Sign-On에 확장하여 외부 사용자 데이터베이스 및 인증 정보 저장소에 연결할 수 있습니다. 기본 제공 LDAP 및 ActiveDirectory 지원은 이 SPI를 실제 구현한 것입니다. Red Hat Single S..

Dev 2020.10.12

7. [SSO] Keycloak Default DB 변경해보기

1. 서론 keycloak은 현재 H2 Database로 관리되고있습니다. 이를 오라클로 변경해보는 작업을 진행하였는데, 찾아봐도 번역본이 없기에 내가 직접 해본 후기를 올리려고 합니다. 참고 자료 Configuring Keycloak to use Oracle Database 2. 본론 1. ojdbc download 우선 오라클을 이용하기 위해 ojdbc가 있어야 합니다. 저는 ojdbc6을 사용하였습니다. 다운로드는 여기에서 진행하시면 됩니다. 2. make directory 다음과 같은 디렉토리 구성이 필요합니다. \\modules\\system\\layers\\keycloak\\com\\oracle\\main 다음과 같이 경로를 구성하셨다면, 두 개의 파일을 아래의 사진과 같이 이동시켜줍니다. 3..

Dev 2020.10.08

24. [SpringBoot] RESTFul한 로그인 구현 예제 - 2

1. 서론 지난 포스팅에서는 하드코딩된 하나의 유저로 로그인 하는 과정을 학습해보았습니다. 이 방법은 실무에 적합하지 않습니다. 이번 포스팅에서는 여러 유저의 정보를 통해 회원가입을 하고, 회원 가입된 유저를 로그인하는 방법에 대해 학습하겠습니다. 2. 본론 1. User - 우리는 유저 정보를 저장하기 위해 JPA를 이용할 것입니다. 그러기 위해서 가장 먼저 필요한 것이 도메인 설정입니다. - 유저에는 UserDetails를 implement 해줍니다. 관련 설정들을 모두 오버라이딩 해줍니다. import lombok.*; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.a..

Dev/SpringBoot 2020.10.06

23. [SpringBoot] RESTFul한 로그인 구현 예제

1. 서론 백엔드로서의 Spring boot를 구현하는 것을 공부하고 있습니다. 웹으로 띄우는 것이 목적이 아닌, 서버 자체로서의 Spring boot. 가장 핵심이라고 할 수 있는 회원가입과 로그인 기능을 제공하는 백엔드 서버를 만들어보고자 하는데요~ 22. [SpringBoot] 스프링부트 spring security 완전 기초 예제 1. 서론 RESTFul API를 이용해서 토큰을 발급받아 접근허용하는 예제를 만들어보았습니다. 이 예제를 학습하면 다음을 이해하는 것이 됩니다. - 간단 회원가입시, DB에 정보가 저장됩니다. - 로그인�� dkyou.tistory.com 이전 포스팅에서 프로젝트 init을 진행하고 왔다면, 이번엔 DB설정 없이 JWT 로그인 기능을 구현해보고자 합니다. 2. 본론 -..

Dev/SpringBoot 2020.10.05

22. [SpringBoot] 스프링부트 spring security 완전 기초 예제

1. 서론 RESTFul API를 이용해서 토큰을 발급받아 접근허용하는 예제를 만들어보았습니다. 이 예제를 학습하면 다음을 이해하는 것이 됩니다. - 간단 회원가입시, DB에 정보가 저장됩니다. - 로그인을 하면, 토큰이 발급됩니다. - 특정 url에 접근 시, 토큰을 헤더에 담지 않으면 접근이 되지 않습니다. - 잘못된 정보로 토큰 접근 시, 접근이 제한됩니다. - API 테스트의 기초를 이해할 수 있습니다. 2. 본론 1. 먼저, 프로젝트 생성 후 hello world를 찍어볼 것입니다. 프로젝트 생성은 여기에서 진행합니다. 저는 이와같은 설정으로 프로젝트를 만들었습니다. 하단의 Generate를 클릭하여 프로젝트를 적당한 위치에 다운로드 받아줍니다. 15버전이 10월 기준 최신 버전이더라구요! 저는..

Dev/SpringBoot 2020.10.04

21. [SpringBoot] 간단하게 비밀번호 암호화해보기

1. 서론 - 회원가입 로직을 구현하던 중 평문 비밀번호를 그대로 저장하는 것을 알게 되었고, Spring security 를 이용하여 암호화하는 방법을 학습해야겠다고 생각했다. 2. 본론 의외로 간단하다. spring-security 의존성이 필요하다. org.springframework.boot spring-boot-starter-security 그리고 springsecurity 환경설정을 진행해준다. import org.springframework.context.annotation.Bean; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security...

Dev/SpringBoot 2020.10.01

6. [SSO] Keycloak & Springboot 적용기 - 3

1. 서론 키클락이랑 스프링부트랑 연결하는 부분을 마무리하였습니다. 이제 전체 키클락 인증서버가 스프링부트에의해 연결되어있음을 볼 수 있습니다. 우리는 키클락이 다 해주기 때문에 access_token을 발급받을 필요가 없고, 인증 헤더에 명시적으로 무언가를 표시할 필요도 없습니다. 이제는 보안설정에 대해 알아보겠습니다. 2. 본론 일단 메이븐에 다음과 같은 설정을 추가해줍니다. org.springframework.boot spring-boot-starter-security 2.2.6.RELEASE 키클락은 KeycloakWebSecurityConfigurerAdapter을 Springboot의 WebSecurityConfigurerAdapter처럼 제공해줍니다. 참 좋군요 @Configuration @..

Dev 2020.09.28

5. [SSO] Keycloak & Springboot 적용기 - 2

1. 서론 오늘은 어제에 이어 접근 토큰을 생성해보는 시간을 가지겠습니다. 어제의 포스팅은 다음을 참고하세요. dkyou.tistory.com/54 2. 본론 2.1 Generating Access Token With Keycloak's API 키클락은 기본적으로 access token을 생성하고, refresh token을 발급해주는 REST API를 제공하고 있습니다. 우리는 이 API를 이용해서 우리 고유 로그인 페이지를 쉽게 만들 수 있습니다. 첫번째로, 우리는 아래의 URL을 이용해서 POST 요청을 함으로서 Keycloak으로부터 access token을 획득할 필요가 있습니다. http://localhost:8180/auth/realms/master/protocol/openid-connect..

Dev 2020.09.27

4. [SSO] Keycloak & Springboot 적용기

1. 서론 앞서 SSO 구축을 위한 오픈소스(Keycloak)을 찾았고, 전반적인 개념과 getting started에 대해 알아보았다. 이제 스프링 부트에 더 잘 적용시키기 위해 www.baeldung.com/spring-boot-keycloak A Quick Guide to Using Keycloak with Spring Boot | Baeldung Learn how to configure a Keycloak server and use it with a Spring Boot Application. www.baeldung.com 을 번역해보는 작업을 진행해보려 한다. - 해당 작업은 20년 6월 23일 최종 수정으로, 아주 따끈따끈한 자료이다. 2. 본론 2.1 개요 이 게시글에서는, 우리는 Keycl..

Dev 2020.09.26

[SSO] Keycloak 공식문서 따라해보기 - 3

1. 서론 Keycloak 번역작업도 거의 끝나간다. 생각보다 기본기를 탄탄히 가져갈 수 있었던 좋은 경험이다. 이번 시간에는 간단한 앱을 활용해서 keycloak의 기능을 활용해보려 한다. 2. 본론 이제 우리는 어드민 계정, realm, 사용자의 개념을 학습하였습니다. 우리는 Keycloak을 이용해서 WildFly Servlet 앱을 보안으로 활용할 수 있습니다. WildFly 클라이언트 어뎁터를 설치하고, 해당 앱을 어드민 콘솔에 등록하고, WildFly 인스턴스를 Keycloak 관리대상에 포함시킬 수 있고, 앱을 보호하는데 사용할 수 있습니다. 2.1 키클럭을 이용하여 포트 조절하기 키클록 서버로서 같은 공간에 WildFly를 사용할 수 있도록 합니다. 이 상황에서, WildFly를 앱 컨테이..

Dev 2020.09.25