From 7faec57879b70011fddb127f91c46d55db0881ee Mon Sep 17 00:00:00 2001 From: rlarltj123 Date: Sun, 12 May 2024 18:32:24 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20apple=20revoke=20url=EB=A5=BC=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=ED=95=9C=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../security/oauth/handler/AppleService.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/moneymong/global/security/oauth/handler/AppleService.java b/src/main/java/com/moneymong/global/security/oauth/handler/AppleService.java index 7250a7f..d04fab3 100644 --- a/src/main/java/com/moneymong/global/security/oauth/handler/AppleService.java +++ b/src/main/java/com/moneymong/global/security/oauth/handler/AppleService.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.http.*; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestClientException; @@ -33,10 +34,7 @@ import java.security.Security; import java.time.ZoneId; import java.time.ZonedDateTime; -import java.util.Base64; -import java.util.Collections; -import java.util.Date; -import java.util.Map; +import java.util.*; @Slf4j @Component @@ -84,7 +82,7 @@ public OAuthUserDataResponse getOAuthUserData(OAuthUserDataRequest request) { parameterMap.add("code", request.getCode()); URI uri = UriComponentsBuilder - .fromUriString(host + "/auth/oauth2/v2/token") + .fromUriString(host + "/auth/token") .queryParams(parameterMap) .build() .toUri(); @@ -125,7 +123,7 @@ public void unlink(Long userId) { params.add("token_type_hint", "refresh_token"); URI uri = UriComponentsBuilder - .fromUriString(host + "/auth/oauth2/v2/revoke") + .fromUriString(host + "/auth/revoke") .build() .toUri(); @@ -136,21 +134,26 @@ public void unlink(Long userId) { try { restTemplate.postForEntity(uri, httpEntity, AppleUserData.class); + appleUserRepository.delete(appleUser); } catch (RestClientException e) { throw new HttpClientException(ErrorCode.HTTP_CLIENT_REQUEST_FAILED); } } private String createClientSecret() { - ZonedDateTime expiration = ZonedDateTime.now().plusMinutes(5); + Date expirationDate = Date.from(ZonedDateTime.now().plusDays(30).toInstant()); + + Map jwtHeader = new HashMap<>(); + jwtHeader.put(JwsHeader.KEY_ID, keyId); + jwtHeader.put(JwsHeader.ALGORITHM, "ES256"); return Jwts.builder() - .setHeaderParam(JwsHeader.KEY_ID, keyId) + .setHeaderParams(jwtHeader) .setIssuer(teamId) .setAudience(host) .setSubject(clientId) - .setExpiration(Date.from(expiration.withZoneSameInstant(ZoneId.systemDefault()).toInstant())) - .setIssuedAt(new Date()) + .setExpiration(expirationDate) + .setIssuedAt(new Date(System.currentTimeMillis())) .signWith(getPrivateKey(), SignatureAlgorithm.ES256) .compact(); }