Alpura Back Java Lib Security V.1.1
Manual de implementación de librería de seguridad.
📦 Requisitos
- Java JDK: 21 (Temurin LTS)
- Spring Boot: 3.4.4 o superior
- Gestor de dependencias: Maven o Gradle
⚙️ Instalación
Maven
<dependency>
<groupId>com.alpura</groupId>
<artifactId>back-java-lib-security</artifactId>
<version>1.1</version>
</dependency>
la librería de commons ya la incluye
<dependency>
<groupId>com.alpura</groupId>
<artifactId>back-java-lib-common-utilities</artifactId>
<version>1.8</version>
</dependency>
🛠️ Configuración
Esta configuración debe realizarse en el archivo application.yml de tu servicio. Aquí un ejemplo de cómo quedaría:
spring:
security:
oauth2:
resourceserver:
jwt:
issuer-uri: https://hub-uat-login.alpura.com/auth/realms/Alpura
jwk-set-uri: https://hub-uat-login.alpura.com/auth/realms/Alpura/protocol/openid-connect/certs
client:
registration:
keycloak:
client-id: MobileApp
client-secret: KkW4Z6Y28IhMqpjvFCN4jS5MTO253Sj5
authorization-grant-type: client_credentials
provider: keycloak
provider:
keycloak:
issuer-uri: https://hub-uat-login.alpura.com/auth/realms/Alpura
token-uri: https://hub-uat-login.alpura.com/auth/realms/Alpura/protocol/openid-connect/token
🧭 Configuración del Escaneo de Componentes
Para que la librería de seguridad funcione correctamente, es necesario escanear los paquetes donde se encuentran los componentes, anotaciones y aspectos.
Asegúrate de incluir los siguientes paquetes en la anotación @ComponentScan de tu clase principal (@SpringBootApplication):
@ComponentScan({
"com.alpura.java.arch",
"com.alpura.utilities.web",
"com.alpura.utilities.annotation.aspectj",
"com.alpura.telemetry",
"com.alpura.security"
})
🔧 Compilación del Proyecto
- Clona el repositorio desde GitLab:
git clone "url"
cd "local"
mvn clean install
Salida esperada:
[INFO] BUILD SUCCESS
🔧 Extracción de token a través del controlador
Extiende tu controlador del BaseController
public class MenuController extends BaseController {
El siguiente código hace que nuestro request tenga información importante de loggeo como el token entre otros.
RequestVO<Integer> request = getRequest();
📌 Notas Finales
- Agrega el siguiente código en el archivo
application.ymldel microservicio consumidor.
alpuraSecurity:
evaluateRoles: false