반응형 공부/프로그래밍346 [springboot] Authorization Server 에서 서비스별 로그인 체크 & 토큰 발행(인증요청 시 파라미터 변경 포함) 통합로그인 & Oauth2 발급을 만들게 되면서 이전에 SpringBoot에 설정한 Oauth2 발급서버(AuthroizationServer)를 그대로 사용할 수 없을거 같았다. 이전과 달리 이제는 어느 DB에 저장되어 있는지를 구분하기 위해 파라미터가 추가되어야 했던 것. 또한 각 서비스에 따라 비밀번호 암호화가 달랐는데, 그래서 서비스별로 패스워드 비교를 분리해야했다. 이 두가지를 커스텀 하기 위해서 Oauth2 발급 서버를 변경해야만 했다. 일단 이전 시스템에서 AuthorizationServer 에서 password 방식으로 인증할땐 파라미터가 4개다. - username - password - grant_type - scope 그런데 이번에 추가되어야 할 것은 1) 어떤 서비스의 유저인지(ser.. 2021. 3. 3. [spring] log4j 에서 logback 으로 변경하기 maven이나 gradle 설정에 들어가서 기존의 log4j 관련 dependency를 모두 주석한 뒤 다음만 남긴다. 그리고 logback 을 추가한다. ... org.slf4j slf4j-api ${org.slf4j-version} org.slf4j jcl-over-slf4j ${org.slf4j-version} ch.qos.logback logback-classic 1.2.3 ... resources 폴더 아래에 logbaxk.xml 파일을 생성한다 ${FILE_LOG_PATTERN} 파일로 남기는 걸 설정하려면 다음 옵션을 추가한다 한 파일에 100MB(maxFileSize) 까지 담으며, 보관기관은 90일이다(maxHistory) ... ... ${LOG_PATH_NAME} ${LOG_DIR}/.. 2021. 3. 2. [springboot] 이미지 s3에 저장하기(파일 업로드) AWS 에서 access key와 secret key를 받아야한다. 관련글은 다음의 중간에 나와있으니 참조. lemontia.tistory.com/992 [aws] aws cli로 s3 파일 삭제(console에서 파일삭제 실패 시-파일명 한글일 경우 실패함) aws s3파일 중에 한글로 되어있는 경우 console 에서 지우는데 계속 실패하여 aws cli로 지우기로 했다. 오랜만에 aws cli를 사용하는데, 다음의 에러가 발생했다. $ aws zsh: /usr/local/bin/aws: bad interprete.. lemontia.tistory.com build.gradle 에 다음을 추가한다. 여기서는 버전을 2.2.5로 정해주었다. implementation group: 'org.springf.. 2021. 2. 22. [springboot] aws sdk 에러(SdkClientException: Failed to connect to service endpoint) 안띄우기 aws에 사용하는 애플리케이션을 연동해야할때 spring-cloud-start-aws 의 패키지를 쓰는 편인데, build.gradle을 설정하고 앱을 실행하면 다음 에러가 보인다. com.amazonaws.SdkClientException: Failed to connect to service endpoint: at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:100) ~[aws-java-sdk-core-1.11.792.jar:na] at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:70) ~[aws-jav.. 2021. 2. 19. [spring security, oauth2] invalid_token 에러를 핸들링(ExceptionHandler)하여 output form 설정하기 저번 글에 이어 쓴 글이다. 이전에 Oauth2 토큰 발급을 요청할때 Exception을 핸들링 하는 것에 대해 알아봤다. 이번에는 ResourceServer 에서 핸들링 하는 방법을 알아보려 한다. 유효하지 않은 토큰으로 요청한 경우 다음과 같은 에러를 리턴한다. 로그를 살펴보면 다음과 같다 o.s.s.o.p.token.store.JdbcTokenStore : Failed to find access token for token aaa 해당 로그를 찍는 곳으로 찾아가보니 JdbcTokenStore.java 에서 발생한 것을 확인했다. (이 프로젝트는 jdbc 를 tokenStore로 삼아서 그렇고, 다른 방식으로 TokenStore를 할경우 거기서 에러가 발생할 것이다. 잘못된 accessToken은 n.. 2021. 2. 17. [spring security] token 요청 시 에러 Exception 핸들링하기(/oauth/token 에러, ControllerAdvice 적용안됨) 서버중에 oauth2를 발급하는 서버가 있는데, 계정과 비밀번호를 틀리게 되었을 때 다음처럼 리턴값을 받게 된다 문제는 이 리턴방식이 회사에서 규격하는 form과 다를 확률이 높다는 점이다. 이 경우 선택할 수 있는건 2가지다 httpStatus가 401일 경우 처리방식을 고정하는 것, 아니면 이번 포스팅처럼 output을 설정하는 것이다. 이번은 output의 form을 설정하는 것에 관한 포스팅이다. 그럼 시작. 아무것도 작업하지 않으면 다음과 같이 리턴을 받을 것이다. httpStatus: 401 { "error": "invalid_grant", "error_description": "자격 증명에 실패하였습니다." } UserDetailsService 를 구현한 클래스에서 DB에서 조회하여 User.. 2021. 2. 15. 이전 1 ··· 11 12 13 14 15 16 17 ··· 58 다음 반응형