[API KEY]
특징
- 인증(X) : 식별만 수행한다.
- 목적 : 통계와 사용량 제한
- 공용 데이터 조회시에 주로 사용
사이트 단위로 접근 허용
- 사용자별 로그인을 하지 않아도 접근 가능한 페이지에 적용 가능
- 1일 사용량 제한하는 경우가 많음
서명 키 없이 API KEY와 사이트 URL을 이용해 접근 제한이 가능하다.
1.클라이언트 개발자는 Provider에 hostName 및 기타 정보를 이용해 API KEY를 요청한다.
2.Provider는 API KEY를 생성하고 hostName 및 기타 정보를 DB에 저장하고 , API KEY를 발급한다.
3.클라이언트 개발자는 해당 API KEY를 통해 데이터를 요청한다.
4.Provider는 API KEY & Origin을 Validate하고 성공한다면 Resource를 응답한다.(이때 db에 count를 증가시켜 사용량 확인 가능)
위 예제는 Interceptor를 통해 특정 API 요청시 provider가 validate하도록 만들었다. (코드 공유는 불가능, 추후 예제 작성 예정)
HandlerInterceptorAdapter를 extends하여 preHandle을 override한 메소드를
WebMvcConfigurer를 impletents한 파일에 addInterceptorRegistry 메소드를 override하여 addInterceptor함
'Languege > Java & Spring' 카테고리의 다른 글
[Spring Framework OPEN API서비스 교육] OAuth 2.0 (0) | 2022.10.18 |
---|---|
[Spring Framework OPEN API서비스 교육] OAuth 1.0 (0) | 2022.10.07 |
[스프링 에러] 카카오 로그인 시 발생 오류 및 해결방법 Provider ID must be specified for client registration 'kakao' (0) | 2022.08.24 |
[김영한 스프링] 빈 스코프 (0) | 2022.03.18 |