fusionauth not generating JWT refresh token from docker installation
-
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: DatabaseSteps 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!!!
-
Is the user for which you are trying to generate a JWT refresh token associated with the application?
That is, have they "registered"?
You can do that in the user details screen.