웹훅 발송 정보항목 추가
This commit is contained in:
@@ -30,4 +30,8 @@ public class WebhookReq {
|
|||||||
@Column(name = "SECRET", length = 200)
|
@Column(name = "SECRET", length = 200)
|
||||||
@Comment("HMAC 서명용 Secret Key")
|
@Comment("HMAC 서명용 Secret Key")
|
||||||
private String secret;
|
private String secret;
|
||||||
|
|
||||||
|
@Column(name = "USER_SECRET", length = 200)
|
||||||
|
@Comment("사용자 Secret Key")
|
||||||
|
private String userSecret;
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-3
@@ -63,9 +63,10 @@ public class WebhookSendController {
|
|||||||
*/
|
*/
|
||||||
@PostMapping("/receive")
|
@PostMapping("/receive")
|
||||||
public ResponseEntity<Map<String, Object>> receiveWebhook(
|
public ResponseEntity<Map<String, Object>> receiveWebhook(
|
||||||
@RequestHeader(value = "X-Webhook-Signature", required = false) String signature,
|
@RequestHeader(value = "x-webhook-signature", required = false) String signature,
|
||||||
@RequestHeader(value = "X-Webhook-Event", required = false) String eventType,
|
@RequestHeader(value = "x-webhook-event", required = false) String eventType,
|
||||||
@RequestHeader(value = "X-Webhook-Timestamp", required = false) String timestamp,
|
@RequestHeader(value = "x-webhook-secret", required = false) String secret,
|
||||||
|
@RequestHeader(value = "x-webhook-timestamp", required = false) String timestamp,
|
||||||
@RequestBody String rawPayload) {
|
@RequestBody String rawPayload) {
|
||||||
|
|
||||||
log.info("[Webhook] 수신 - eventType: {}, timestamp: {}", eventType, timestamp);
|
log.info("[Webhook] 수신 - eventType: {}, timestamp: {}", eventType, timestamp);
|
||||||
|
|||||||
@@ -17,13 +17,15 @@ public class WebhookPayload {
|
|||||||
|
|
||||||
private String eventType;
|
private String eventType;
|
||||||
private String eventId;
|
private String eventId;
|
||||||
|
private String message;
|
||||||
private long timestamp;
|
private long timestamp;
|
||||||
private Object data;
|
private Object data;
|
||||||
|
|
||||||
public static WebhookPayload of(String eventType, Object data) {
|
public static WebhookPayload of(String eventType, String message, Object data) {
|
||||||
return WebhookPayload.builder()
|
return WebhookPayload.builder()
|
||||||
.eventType(eventType)
|
.eventType(eventType)
|
||||||
.eventId(UUID.randomUUID().toString())
|
.eventId(UUID.randomUUID().toString())
|
||||||
|
.message(message)
|
||||||
.timestamp(System.currentTimeMillis())
|
.timestamp(System.currentTimeMillis())
|
||||||
.data(data)
|
.data(data)
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
Reference in New Issue
Block a user