Files
apkt-data-309/src/main/java/id/co/iconpln/apkt/data309/AuthFilter.java
Eko Haryadi be06f273c5 all
2025-08-20 08:56:18 +07:00

50 lines
1.9 KiB
Java

// package id.co.iconpln.apkt.data309;
// import jakarta.annotation.Priority;
// import org.eclipse.microprofile.config.inject.ConfigProperty;
// import jakarta.ws.rs.container.ContainerRequestContext;
// import jakarta.ws.rs.core.Response;
// import jakarta.ws.rs.ext.Provider;
// import jakarta.ws.rs.container.ContainerRequestFilter;
// import java.util.Base64;
// @Provider
// @Priority(100)
// public class AuthFilter implements ContainerRequestFilter {
// private static final String AUTHORIZATION_PREFIX = "Basic ";
// @ConfigProperty(name = "quarkus.auth.username")
// String authUsername;
// @ConfigProperty(name = "quarkus.auth.password")
// String authPassword;
// @Override
// public void filter(ContainerRequestContext requestContext) {
// String authHeader = requestContext.getHeaderString("Authorization");
// if (authHeader == null || !authHeader.startsWith(AUTHORIZATION_PREFIX)) {
// requestContext.abortWith(Response.status(Response.Status.UNAUTHORIZED).build());
// return;
// }
// // Decode and validate credentials
// String encodedCredentials = authHeader.substring(AUTHORIZATION_PREFIX.length());
// String decodedCredentials = new String(Base64.getDecoder().decode(encodedCredentials));
// String[] credentials = decodedCredentials.split(":", 2);
// String username = credentials[0];
// String password = credentials.length > 1 ? credentials[1] : "";
// // Implement your user validation logic here
// if (!isValidUser(username, password)) {
// requestContext.abortWith(Response.status(Response.Status.UNAUTHORIZED).build());
// }
// }
// private boolean isValidUser(String username, String password) {
// // Replace with actual validation logic
// return authUsername.equals(username) && authPassword.equals(password);
// }
// }