I am using fusionauth docker and it's not generating JWT refresh tokens, besides that I've followed the instructions of enabling JWT Tokens and JWT Refresh Tokens in the Application configuration. It's not returning refresh tokens from the GET /api/jwt/refresh?userId={userId} also.
Fusion Auth Version 1.18.5 and 1.22.1
MySQL Version 5.7.21
Search Engine: Database
Steps to reproduce:
1 - Generate a custom Dockerfile with this contents:
FROM fusionauth/fusionauth-app:1.22.1
COPY ./fusionauth.properties /usr/local/fusionauth/config
EXPOSE 9011
CMD ["/usr/local/fusionauth/fusionauth-app/apache-tomcat/bin/catalina.sh", "run"]
2 - For COPY the instruction in the dockerfile generate the fusionauth.properties with this contents
#
# Copyright (c) 2018-2020, FusionAuth, All Rights Reserved
#
#------------------------------------------------------------------------------
# Database
# - Specify the URL and credentials for your database here
# - Required on each node running FusionAuth App webservice
#------------------------------------------------------------------------------
database.url=jdbc:postgresql://localhost:5432/fusionauth
database.username=fusionauth
database.password=fusionauth
#------------------------------------------------------------------------------
# Additional MySQL database settings.
# - When enabled, FusionAuth will ensure the necessary 'utf8mb4' configuration parameters to
# properly handle 4 byte unicode characters. FusionAuth will fail to start if not configured properly.
# - This value is ignored if using PostgreSQL
# - Only set to false if you understand the limitations not using 'utf8mb4' character sets.
#------------------------------------------------------------------------------
database.mysql.enforce-utf8mb4=false
database.mysql.connector-version=8.0.18
#------------------------------------------------------------------------------
# fusionauth-search
# - Required on each node running FusionAuth Search
#------------------------------------------------------------------------------
fusionauth-search.transport-port=9020
fusionauth-search.http-port=9021
fusionauth-search.memory=512M
fusionauth-search.additional-java-args=
# Special values include: _local_, _site_. Values can be combined in a comma separated list.
fusionauth-search.hosts=_local_
# Specify the location of your FusionAuth Search Engine servers. Multiple values may be specified using a comma separator.
# This configuration is used by ElasticSearch to configure clustering. The specified port should be the configured value
# for 'fusionauth-search.transport-port'.
#
# Single host example: localhost:9020
# Multiple hosts example: localhost:9020,192.168.1.42:9020
fusionauth-search.servers=localhost:9020
# Specify the full path to the ElasticSearch data directory. This defaults to /usr/local/fusionauth/data/search/esv6
# on Linux/Unix and %FUSIONAUTH_HOME%\data\search\esv6 on Windows if not specified
fusionauth-search.data-directory=
#------------------------------------------------------------------------------
# fusionauth-app
# - Required on each node running FusionAuth App webservice
#------------------------------------------------------------------------------
# Optionally specify an addressable URL or IP address to access this node from other FusionAuth nodes.
# - In most cases this should be left empty and it will be determined at runtime.
# - Ideally this is a site local IP address that is not publicly routable but accessible from other FusionAuth nodes.
fusionauth-app.url=
# Specify the search engine type, accepted values are `database` and `elasticsearch`.
# When configuring the search engine type to `elasticsearch`, you must configure the `fusionauth-app.search-servers` property as well.
fusionauth-app.search-engine-type=database
# Specify the location of your FusionAuth Search servers. Multiple values may be specified using a comma separator.
# This configuration is used by FusionAuth App to connect to the ElasticSearch nodes. The specified port should be the
# configured value for 'fusionauth-search.http-port'.
#
# Single host example: http://localhost:9021
# Multiple hosts example: http://localhost:9021,http://192.168.1.42:9021
#fusionauth-app.search-servers=http://localhost:9021
# Specify the management and HTTP ports for Tomcat
fusionauth-app.management-port=9010
fusionauth-app.http-port=9011
fusionauth-app.https-port=9013
fusionauth-app.ajp-port=9019
# Specify the memory size here. You can use M for megabytes and G for gigabytes
fusionauth-app.memory=512M
# Specify any additional JVM arguments here
fusionauth-app.additional-java-args=
# Cookie Same Site Policy
# - Possible values [Strict, None, Lax]
#
# During development you may want to set this value to None if you're on http and a server is returning you cross domain cookies over https.
fusionauth-app.cookie-same-site-policy=Lax
# Runtime Mode. During development use, 'development' this will allow you to utilize maintenance mode.
# - Once you move into production, use 'production', this will disable maintenance mode.
# - Possible values [production, development]
fusionauth-app.runtime-mode=production
3 - Create a new tenant;
4 - Create a new application with the previous tenant;
5 - Enable JWT Token and Refresh Token for the application;
6 - TEST!!!