|
@@ -50,6 +50,7 @@ public class IOSToeknUtils {
|
|
|
try {
|
|
|
RestTemplate restTemplate = new RestTemplate();
|
|
|
JSONObject data = restTemplate.getForObject(authUrl, JSONObject.class);
|
|
|
+ System.out.println(data);
|
|
|
assert data != null;
|
|
|
JSONArray jsonArray = data.getJSONArray("keys");
|
|
|
for (Object obj : jsonArray) {
|
|
@@ -78,21 +79,28 @@ public class IOSToeknUtils {
|
|
|
String kid = (String) jsonObject.get("kid");
|
|
|
PublicKey publicKey = getPublicKey(kid);
|
|
|
|
|
|
+
|
|
|
JwtParser jwtParser = Jwts.parser().setSigningKey(publicKey);
|
|
|
jwtParser.requireIssuer(authIss);
|
|
|
jwtParser.requireAudience((String) jsonObject.get("aud"));
|
|
|
jwtParser.requireSubject((String) jsonObject.get("sub"));
|
|
|
+
|
|
|
try {
|
|
|
+ System.out.println("Parsing JWT: " + identityToken); // 调试信息,查看 JWT
|
|
|
Jws<Claims> claim = jwtParser.parseClaimsJws(identityToken);
|
|
|
- if (claim != null && claim.getBody().containsKey("auth_time")) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
+ return claim != null && claim.getBody().containsKey("auth_time");
|
|
|
} catch (ExpiredJwtException e) {
|
|
|
+ System.out.println("JWT expired: " + identityToken);
|
|
|
return false;
|
|
|
} catch (Exception e) {
|
|
|
+ System.err.println("Error verifying JWT: " + e.getMessage());
|
|
|
+ e.printStackTrace();
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|