fix
This commit is contained in:
@@ -12,31 +12,37 @@ public class FacebookWebhookController {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(FacebookWebhookController.class);
|
||||
|
||||
// ХАРДКОД ТОКЕНА (Чтобы точно заработало)
|
||||
private final String VERIFY_TOKEN = "konturAI";
|
||||
// Убедись, что на сайте Facebook в поле Verify Token ты вводишь ИМЕННО ЭТО:
|
||||
private final String VERIFY_TOKEN = "meatyhamhock";
|
||||
|
||||
@GetMapping
|
||||
public ResponseEntity<String> verifyWebhook(
|
||||
@RequestParam(name = "hub.mode", required = false) String mode,
|
||||
@RequestParam(name = "hub.verify_token", required = false) String token,
|
||||
@RequestParam(name = "hub.challenge", required = false) String challenge) {
|
||||
@RequestParam(name = "hub.challenge", required = false) String challenge) { // <--- ИЗМЕНИЛ НА String
|
||||
|
||||
logger.info(">>> GET запрос на верификацию: token={}, challenge={}", token, challenge);
|
||||
logger.info(">>> VERIFY REQUEST: mode={}, token={}, challenge={}", mode, token, challenge);
|
||||
|
||||
// Если прислали тот же токен, что мы зашили в коде
|
||||
if (VERIFY_TOKEN.equals(token)) {
|
||||
// Фейсбук ждет В ТОЧНОСТИ этот challenge назад
|
||||
// 1. Проверяем, что параметры вообще пришли
|
||||
if (mode == null || token == null || challenge == null) {
|
||||
logger.error(">>> Missing parameters");
|
||||
return ResponseEntity.badRequest().body("Missing parameters");
|
||||
}
|
||||
|
||||
// 2. Проверяем токен
|
||||
if ("subscribe".equals(mode) && VERIFY_TOKEN.equals(token)) {
|
||||
logger.info(">>> SUCCESS: Verified!");
|
||||
// ВАЖНО: Возвращаем challenge обратно Фейсбуку!
|
||||
return ResponseEntity.ok(challenge);
|
||||
} else {
|
||||
logger.error(">>> ОШИБКА: Токены не совпали. Ждали: {}, Получили: {}", VERIFY_TOKEN, token);
|
||||
return ResponseEntity.status(HttpStatus.FORBIDDEN).body("Error: Token mismatch");
|
||||
logger.error(">>> FAIL: Token mismatch. Expected: {}, Got: {}", VERIFY_TOKEN, token);
|
||||
return ResponseEntity.status(HttpStatus.FORBIDDEN).body("Verification failed");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@PostMapping
|
||||
public ResponseEntity<Void> receiveEvent(@RequestBody(required = false) String payload) {
|
||||
logger.info(">>> POST запрос получен: {}", payload);
|
||||
logger.info(">>> POST RECEIVED: {}", payload);
|
||||
return ResponseEntity.ok().build();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user