If I remember correctly, the authenticate_user has some weird interactions with JWT. This was part of the reason for the alias methods in the User model. Part of the solution was to undefine the method current_user and and with the includes of the Knock Authenticatable, the current user would be set.
Are you receiving any specific error messages?
That does appear to be a devise error message. If I had to guess, your controller/action that is redirecting/responding you to that error message is not inheriting from the Api::ApplicationController.
You might need to add
skip_before_action :authenticate_user!
in the controller that is causing the error message. It may be in the user_token_controller.rb where you would need to add this.
I'd recommend tracing it back to see where the :authenticate_user! is causing the application to fail.
If i'm stuck on an issue like this, I will sometimes put a debugger log in each controller action with the name of the action. Viewing the logs, you'd be able to see at which point (or the last point) it was able to make its way through before it returned the error. I'm definitely not suggesting to expose the app! That would be bad, but certain controllers need to have unauthenticated access so that it is able to perform the authentication. I'm a big fan of puts debugging. It's similar to rubber duck debugging.
Side note: if you're working on some kind of calculation that is rather difficult and you don't have the tests built yet or is a part of the app where tests will not be created, using a tail | grep can be very handy as well. So in the app, you might have something like
Rails.logger.info "DEBUG:: #{some var}" and in your console, do
tail -f log/development.log | grep DEBUG
Check out episode 84 where the geocoding from street address to coordinates is done via the geocoder gem.