From 216ee745dce6c3ace209038aa01bb989ff89353b Mon Sep 17 00:00:00 2001 From: Tim <135014430+nagisa77@users.noreply.github.com> Date: Wed, 16 Jul 2025 20:28:15 +0800 Subject: [PATCH] Add Basic auth header for Twitter OAuth --- .../java/com/openisle/service/TwitterAuthService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/openisle/service/TwitterAuthService.java b/src/main/java/com/openisle/service/TwitterAuthService.java index deb60fc96..fa2f48f62 100644 --- a/src/main/java/com/openisle/service/TwitterAuthService.java +++ b/src/main/java/com/openisle/service/TwitterAuthService.java @@ -15,6 +15,8 @@ import org.springframework.util.MultiValueMap; import org.springframework.util.LinkedMultiValueMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.nio.charset.StandardCharsets; +import java.util.Base64; import java.util.*; @@ -44,6 +46,12 @@ public class TwitterAuthService { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); headers.setAccept(List.of(MediaType.APPLICATION_JSON)); + if (!clientId.isEmpty() && !clientSecret.isEmpty()) { + String credentials = clientId + ":" + clientSecret; + String authHeader = "Basic " + Base64.getEncoder() + .encodeToString(credentials.getBytes(StandardCharsets.UTF_8)); + headers.set(HttpHeaders.AUTHORIZATION, authHeader); + } // Twitter PKCE 要求的五个参数 MultiValueMap body = new LinkedMultiValueMap<>();