Skip to content

Commit

Permalink
[MERGE] fix/#44 -> dev
Browse files Browse the repository at this point in the history
[FIX/#44] GoogleAuthService - ClassCastException 오류 수정
  • Loading branch information
sung-silver authored Jan 28, 2025
2 parents 0b2ab5e + 80e901f commit 8df51ab
Showing 1 changed file with 4 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

import com.nimbusds.jose.JOSEException;
import com.nimbusds.jose.JWSVerifier;
import com.nimbusds.jose.crypto.ECDSAVerifier;
import com.nimbusds.jose.crypto.*;
import com.nimbusds.jose.jwk.JWK;
import com.nimbusds.jose.jwk.JWKSet;
import com.nimbusds.jwt.JWTClaimsSet;
Expand All @@ -38,8 +38,7 @@ public String getIdentifierByToken(final String token) {
JWK targetJwk = findMatchJWK(signedJWT);

verifyGoogleIdTokenJwt(signedJWT, targetJwk);
String identifier = signedJWT.getJWTClaimsSet().getSubject();
return identifier;
return signedJWT.getJWTClaimsSet().getSubject();
} catch (ParseException e) {
throw new TokenException(TokenFailure.TOKEN_PARSE_FAILED);
}
Expand All @@ -48,6 +47,7 @@ public String getIdentifierByToken(final String token) {
private JWK findMatchJWK(final SignedJWT jwt) {
JWKSet loadedJWKSet = googleAuthClient.getPublicKeySet();
String keyID = jwt.getHeader().getKeyID();

return loadedJWKSet.getKeys().stream()
.filter(jwk -> jwk.getKeyID().equals(keyID))
.findFirst()
Expand All @@ -57,8 +57,7 @@ private JWK findMatchJWK(final SignedJWT jwt) {
private void verifyGoogleIdTokenJwt(final SignedJWT jwt, JWK jwk) throws ParseException {
try {
JWTClaimsSet jwtClaimsSet = jwt.getJWTClaimsSet();
JWSVerifier verifier = new ECDSAVerifier(jwk.toECKey());

JWSVerifier verifier = new RSASSAVerifier(jwk.toRSAKey());
boolean isVerifiedSignature = jwt.verify(verifier);
boolean isCorrectIssuer = jwtClaimsSet.getIssuer().equals(GOOGLE_ISSUER);
boolean isCorrectAudience =
Expand Down

0 comments on commit 8df51ab

Please sign in to comment.