우선 COOLSMS에 API를 요청할 때 어떻게 인증할지 정해야 하는데, OAuth나 SSO는 굳이? 여서 간단하게 KEY로 인증받기로 했다.
COOLSMS에 요청(Request)를 보낼 때 HTTP 헤더에 Authoirization 정보를 추가해서 인증을 받을 수 있다.
이는 API를 요청한 계정의 소유자를 확인하는데 필수적인 절차이다.
IP 라우트에서 와일드카드(Wildcard)는 특정 IP 주소 범위나 네트워크를 식별하기 위해 사용되는 필터링 값입니다.
이는 서브넷 마스크와 유사하지만, 0과 1의 역할이 반대로 동작하여 특정 비트가 일치해야 하는지 여부를 나타냅니다.
와일드카드는 주로 액세스 제어 목록(ACL)에서 특정 IP 주소를 허용하거나 거부할 때 사용됩니다
클로드에게 어케 설정할지 물어보니까
개발 단계에서는 127.0.0.1/32로 시작하여 필요에 따라 점진적으로 범위를 확장하는 것이 가장 안전한 방법입니다.
라고 함.. 팀 개발때는 16으로 늘릴 예정
나는 Config 라는 공용 설정 폴더가 있기 때문에 CoolSmsApiConfig
클래스를 Config 패키지에 생성해주었다.
또한 API 관리 클래스와 서비스 코드는 아래와 같은 폴더 구조를 가진다.
message/
├── external/
│ └── coolsms/
│ ├── CoolSmsApiClient.java # HTTP 클라이언트
│ ├── CoolSmsService.java # 비즈니스 로직
│ ├── dto/
│ │ ├── CoolSmsRequest.java # API 요청 DTO
│ │ └── CoolSmsResponse.java # API 응답 DTO
│ └── exception/
│ └── CoolSmsException.java # 커스텀 예외
APIKey와 SecretKey를 스크립트에 그대로 넣을 경우 깃에 코드가 공개되기 때문에 보안 위험이 있다.