Microservicio st-microservice-oauth

Permite generar los tokens JWT de sesión a través del protocolo OAuth2.

Para realizar el despliegue se deben seguir las siguientes indicaciones:

Configurar propiedades

En el archivo st-microservice-oauth.yml se encuentran las propiedades de configuración del microservicio. Se pueden modificar las siguientes propiedades:

URL Servidor Eureka

Si se requiere cambiar la url del servidor de descubrimiento eureka, se debe modificar la siguiente propiedad:

eureka:
  client:
    serviceUrl:
      defaultZone: http://st-eureka-server:8762/eureka

Credenciales OAUTH

El sistema de transición usa el protocolo OAuth2 para la generación de tokens basados en JWT. Actualmente existen dos clientes que hacen uso de login que son: el sitio web del sistema de transición y el Asistente-LADM-COL. Ambos clientes tienen propiedades diferentes las cuales pueden ser modificadas en el archivo application.yml:

Nota 1: Sólo modificar el cliente del sitio web, ya que si se modifica las propiedades del cliente del Asistente-LADM-COL esté no podrá acceder al sistema.

Nota 2: Las propiedades id y secret tendrán que ser configuradas al momento de desplegar el sitio web del sistema de transición.

oauth:
  clients:
    site:
      id: st-web-sdVa1NXw
      secret : hKbceN89
      timeAccessToken: 28800
      timeRefreshToken: 28800
  jwt:
    key: U09V3T12qppx3hPu6qKV

Clonar repositorio

Se debe clonar el repositorio st-microservice-oauth almacenado en github y posteriormente generar el jar del proyecto a través de maven.

$ git clone https://github.com/SwissTierrasColombia/st-microservice-oauth.git
$ cd st-microservice-oauth && git checkout master
$ mvn clean package -DskipTests

Crear imagen docker

Se debe crear la imagen docker a partir del archivo Dockerfile que se encuentra en el repositorio, esta imagen requiere que se le pasen los siguientes argumentos:

  • XMX: Límite en RAM que el jar utilizará.

  • PROFILE: Perfil o ambiente en el cual se ejecutará el jar. En producción se debe usar el perfil production.

  • CLOUD_CONFIG: Url del servidor de configuración.

$ docker build -t st-microservice-oauth:lynx --build-arg XMX=<xmx> --build-arg PROFILE=<perfil> --build-arg CLOUD_CONFIG=<url-cloud-config> .

Por ejemplo:

$ docker build -t st-microservice-oauth:lynx --build-arg XMX=1024m --build-arg PROFILE=production --build-arg CLOUD_CONFIG=http://st-config-server:8890 .

Ejecutar el contenedor

Se debe ejecutar el contenedor a partir de la imagen creada asignando un límite de memoria RAM y la red docker previamente creada.

$ docker run -P -t --network <nombre-red-docker> -m <ram>  -d st-microservice-oauth:lynx

Por ejemplo:

$ docker run -P -t --network st -m 500M  -d st-microservice-oauth:lynx