Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Desarrollo de un token enhancer para Identity Manager

Supongamos que queremos quieres personalizar la forma en la que se construye el token JWT que nos proporciona el Identity Manager de Plataforma (oauth-server).

Creación de proyecto maven

Para ello, nos crearemos crea un proyecto maven nuevo sobre el que desarrollaremos desarrollarás la funcionalidad propuesta.

...

Para que el plugin sea 100% compatible con los módulos de plataforma, es necesario usar la version 1.5.9.RELEASE de Spring Boot, y la version 1.8 de javaJava.

...

Desarrollando la funcionalidad

Lo primero desarrollamos nuestro TokenEnhancer, simplemente vamos es desarrollar tu TokenEnhancer. Simplemente vas a añadir una propiedad al token JWT:

...

Para que el servidor de Autorización utilice este enhancer, tenemos tienes que hacer una clase de configuración que extienda de AuthorizationServerConfigurerAdapter. En esta clase, haremos haz un override del método que configura los endpoints del servidor.

En dicho método, añadiremos nuestro añade tu PluginTokenEnhancer a la cadena de enhancing existente:

...

De esta forma, se aplicará nuestro tu enhancer al final de la cadena, antes de devolvernos devolver el token JWT.

Generar el JAR

JAR ligero

Siempre que NO utilicemos utilices librerías externas a las que trae spring-boot usaremos , debes usar este método.

Para poder utilizar el plugin, tendremos tendrás que empaquetar el proyecto maven en un JAR, bien con un mvn clean install o con mvn clean package.

Una vez generado el JAR, deberemos debes subirlo a un servidor accesible desde internetInternet, o al menos desde la máquina donde está instalada la plataforma.

Esto puede ser desde un nexus, donde copiaremos copiarás el enlace al jar:

https://nexus.onesaitplatform.com/nexus/service/local/repositories/releases/content/com/minsait/onesait/platform/onesaitplatform-base-plugin/1.0.0/onesaitplatform-base-plugin-1.0.0.jar

...

https://development.onesaitplatform.com/controlpanel/files/5e71fb0e7ec58a000bf6f966

FAT JAR

Siempre que SÍ utilicemos utilices librerías externas a las que trae spring-boot usaremos , debes usar este método.

El proceso será parecido al anterior, pero tendremos tienes que añadir un plugin de maven al pom.xml:

Code Block
<build>
	<plugins>
		<plugin>
			<artifactId>maven-assembly-plugin</artifactId>
			<configuration>
				<descriptorRefs>
					<descriptorRef>jar-with-dependencies</descriptorRef>
				</descriptorRefs>
			</configuration>
			<executions>
				<execution>
					<id>make-assembly</id> 
					<phase>package</phase> 
					<goals>
						<goal>single</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>

Para generar el plugin, utilizaremos utiliza el comando mvn package.

Hay que tener Ten en cuenta que esto generará un JAR con todas las dependencias, y por tanto aumentará considerablemente el tamaño del plugin.

Indicar al módulo

...

OAuth Server la URI del plugin(s)

Deberemos Debes indicar la URI del plugin o plugins en la variable de entorno PLUGIN_URI. Si es el último caso, deberemos deberás separar las URIs por ';'

...

De esta forma, el Oauth OAuth Server al iniciarse, buscará los plugins y los cargará:

...

Test generación token JWT

Ahora generamos generarás el token JWT con el plugin cargado, para comprobar que se está usando la funcionalidad añadida a la cadena de enhancing de OauthOAuth:

Recursos

View file
nameplugin-onesait-im.zip

...