BUGFIX:绑定谷歌;

This commit is contained in:
shahaibo
2025-02-05 13:02:26 +08:00
parent 464de4ee5a
commit 627f264ef3

View File

@@ -48,8 +48,10 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.security.GeneralSecurityException;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
@@ -2572,7 +2574,6 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
@Override @Override
public AccountExtend bindGoogle(String credential) { public AccountExtend bindGoogle(String credential) {
try {
// 配置 Google ID Token 验证器 // 配置 Google ID Token 验证器
GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder( GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder(
new NetHttpTransport(), new NetHttpTransport(),
@@ -2581,7 +2582,14 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
.build(); .build();
// 验证并解析 ID Token // 验证并解析 ID Token
GoogleIdToken idToken = verifier.verify(credential); GoogleIdToken idToken = null;
try {
idToken = verifier.verify(credential);
} catch (GeneralSecurityException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
if (idToken != null) { if (idToken != null) {
@@ -2616,11 +2624,6 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
} else { } else {
throw new IllegalArgumentException("Invalid ID token."); throw new IllegalArgumentException("Invalid ID token.");
} }
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("Failed to verify ID token: " + e.getMessage());
}
} }
@Override @Override