Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

...

Dependiendo de la situación, se distinguen dos tipos de configuraciones:
- Global: Todos los endpoints de nuestra API requerirán el nivel LoA establecido en su configuración.
- Por endpoint: Configurar el nivel LoA de forma independiente para cada endpoint. 

Tabla de contenidos

CONFIGURACIÓN

COMÚN

  1. Añadir en el pom.xml la siguiente dependencia:

    Bloque de código
    languagexml
    	<dependency>
    		<groupId>es.um.atica.fundewebjs.fundewebjs-api</groupId>
    		<artifactId>fundewebjs-security</artifactId>
    		<version>${fdwjs.version}</version>
    	</dependency>


    Info

    La librería se encuentra a partir de la versión fdwjs 1.0.7-SNAPSHOT.


...

  1. En la clase con la configuración de seguridad (generalmente SecurityConfig.java), añadir el siguiente Bean para configurar el filtro para LoA, estableciendo el nivel mínimo que se desea establecer en toda nuestra API:

    Bloque de código
        @Bean
    	public UmuJwtLoaAuthenticationFilter loaFilterBean() {
    		return new UmuJwtLoaAuthenticationFilter( UmuJwtLoaLevelEnum.MEDIUM );
    	}


  2. En la misma clase, en el método configure, añadir el filtro configurado en el paso anterior de la siguiente forma:

    Bloque de código
    languagejava
    .addFilterAfter( loaFilterBean(), BearerTokenAuthenticationFilter.class )

    Hay que añadirlo justo antes de  .oauth2ResourceServer().jwt().
    Por ejemplo:

    Bloque de código
    languagejava
       @Override
        protected void configure(HttpSecurity http) throws Exception {
            http
                .authorizeRequests()
                .mvcMatchers("/actuator/**").permitAll()
                .mvcMatchers("/api-docs").permitAll()
                .mvcMatchers(apiPath+"/public/**").permitAll()
                .mvcMatchers(apiPath+"/private/**").hasAnyAuthority(serverScopes)
    				.anyRequest().authenticated().and()
    				.addFilterAfter( loggingFilterBean(), BearerTokenAuthenticationFilter.class )
    				.addFilterAfter( loaFilterBean(), BearerTokenAuthenticationFilter.class )
                .oauth2ResourceServer().jwt();
            http.csrf().disable();
        }


POR MÉTODO

Clase Configuration (SecurityConfig)

  1. En la clase con la configuración de seguridad (generalmente SecurityConfig.java), añadir el siguiente Bean para configurar el filtro para LoA, estableciendo el nivel mínimo que se desea establecer en toda nuestra API:

1 .@EnableGlobalMethodSecurity( prePostEnabled = true )

...

Advertencia

Estas equivalencias son TEMPORALES y todavía pueden estar sujetas a modificaciones.
Las modificaciones serán transparentes al desarrollo. Se realizan en la librería fundewebjs-security.


Combinación de AutenticaciónLoA
LDAP (cuenta UM)LOW
LDAP (cuenta UM) + MFA (OTP)MEDIUM
CMNLOW
CMN + MFAMEDIUM
Cl@ve certificadoMEDIUM
Cl@ve PIN (lleva implícito el OTP)MEDIUM
Cl@ve permanenteLOW
Cl@ve certificado + MFAMEDIUM
Cl@ve PIN + MFAMEDIUM
Cl@ve permanente + MFAMEDIUM
*Cl@ve + DNIeHIGH

Artículos Relacionados

Contenido por etiqueta
showLabelsfalse
max5
spacesMDUYADA
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ("seguridad","oauth2","spring-boot","mfa","LoA") and type = "page" and space = "MDUYADA"
labelsoauth2 spring-boot mfa seguridad

...