import org.pac4j.core.config.Config;
import org.pac4j.core.config.ConfigBuilder;
import org.pac4j.oauth.client.Google2Client;
import org.pac4j.oauth.profile.google2.Google2Profile;
public class SecurityConfig {
public static Config getConfig() {
ConfigBuilder configBuilder = new ConfigBuilder();
Google2Client googleClient = new Google2Client(clientId, clientSecret);
googleClient.setScope("openid", "email", "profile");
configBuilder.addClient(googleClient);
configBuilder.addAuthorizationGenerator(profile -> {
if (profile instanceof Google2Profile) {
Google2Profile googleProfile = (Google2Profile) profile;
if (googleProfile.getEmail().endsWith("@example.com")) {
profile.addRole("ADMIN");
}
}
return profile;
});
return configBuilder.build();
}
}
clients.google2.key = YOUR_CLIENT_KEY
clients.google2.secret = YOUR_CLIENT_SECRET
http.url = http://localhost:8080/callback