728x90
스프링 기반 REST API 개발
5. REST API 보안 적용
포스팅 참조 정보
GitHub
공부한 내용은 GitHub에 공부용 Organizations에 정리 하고 있습니다
해당 포스팅에 대한 내용의 GitHub 주소
실습 내용이나 자세한 소스코드는 GitHub에 있습니다
포스팅 내용은 간략하게 추린 핵심 내용만 포스팅되어 있습니다
https://github.com/freespringlecture/spring-rest-api-study/tree/chap05-09_event_api_inspect
해당 포스팅 참고 인프런 강의
https://www.inflearn.com/course/spring_rest-api/dashboard
실습 환경
- Java Version: Java 11
- SpringBoot Version: 2.1.2.RELEASE
9. 이벤트 API 점검
ResourceServerConfig Authentication 수정
GET /api/**
요청에 대해 anonymous
에게만 허용하겠다는 옵션을 permitAll
모두에게 허용하는 옵션으로 변경
@Override
public void configure(HttpSecurity http) throws Exception {
http
.anonymous()
.and()
.authorizeRequests()
.mvcMatchers(HttpMethod.GET, "/api/**")
.permitAll()
.anyRequest().authenticated()
.and()
.exceptionHandling() // 인증이 잘못됐다던가 권한이 없는 경우 발생하는 예외중에 접근권한이 없는 것은
.accessDeniedHandler(new OAuth2AccessDeniedHandler()); // OAuth2AccessDeniedHandler 를 사용함 403으로 status 응답을 내보내줌
}
토큰 발급 받기
POST /oauth/token
BASIC authentication(Authorization)
헤더- client Id(myApp) + client secret(pass)
- 요청 본문(Body) 폼
- username: admin@email.com
- password: admin
- grant_type: password
토큰 갱신하기
POST /oauth/token
BASIC authentication
헤더- client Id(myApp) + client secret(pass)
- 요청 본문 폼
- token: 처음에 발급받았던 refersh 토큰
- grant_type: refresh_token
이벤트 목록 조회 API
- 로그인 안 했을때
- 이벤트를 만드는 링크를 보여주지 않음
- 로그인 했을 때
- 이벤트 생성 링크 제공
이벤트 조회
EventController에서 현재 사용자 정보를 참조해야함
- 로그인 했을 때
- 이벤트 Manager인 경우에는 이벤트 수정 링크 제공
728x90
'개발강의정리 > Spring' 카테고리의 다른 글
[스프링 기반 REST API 개발] 5-11. Events API 개선: 출력값 제한하기 (0) | 2020.04.11 |
---|---|
[스프링 기반 REST API 개발] 5-10. 스프링 시큐리티 현재 사용자 조회 (0) | 2020.04.10 |
[스프링 기반 REST API 개발] 5-8. 문자열을 외부 설정으로 빼내기 (0) | 2020.04.08 |
[스프링 기반 REST API 개발] 5-7. 스프링 시큐리티 OAuth 2 설정: 리소스 서버 설정 (0) | 2020.04.07 |
[스프링 기반 REST API 개발] 5-6. 스프링 시큐리티 OAuth 2 설정: 인증 서버 설정 (0) | 2020.04.06 |
댓글