Rails api is not returning access-token and client to external url via devise token auth

412 Views Asked by At

I'm having an issue with devise_token_auth returning a client and access-token back to my front end. It works fine in my test environment and I get the expected results. But in my dev environment I am using a external url. This is the response I get when I create a session:

 Object {
   "config": Object {
     "adapter": [Function xhrAdapter],
     "baseURL": "http://93ae6a5f.ngrok.io/api/v1",
     "data": "{\"email\":\"[email protected]\",\"password\":\"password\"}",
     "headers": Object {
       "Accept": "application/json",
       "Content-Type": "application/json",
     },
     "maxContentLength": -1,
     "method": "post",
     "timeout": 0,
     "transformRequest": Object {
       "0": [Function transformRequest],
     },
     "transformResponse": Object {
       "0": [Function transformResponse],
     },
     "url": "http://93ae6a5f.ngrok.io/api/v1/auth/sign_in",
     "validateStatus": [Function validateStatus],
     "xsrfCookieName": "XSRF-TOKEN",
     "xsrfHeaderName": "X-XSRF-TOKEN",
   },
   "data": Object {
     "data": Object {
       "allow_password_change": false,
       "email": "[email protected]",
       "id": 1,
       "image": null,
       "name": null,
       "nickname": null,
       "provider": "email",
       "uid": "[email protected]",
       "username": null,
     },
   },
   "duration": 731,
   "headers": Object {
     "cache-control": "public, max-age=0",
     "content-type": "application/json; charset=utf-8",
     "etag": "W/\"0fa41fc630ddb8ffc9b9f9f9b90849b5\"",
     "transfer-encoding": "chunked",
     "vary": "Origin",
     "x-request-id": "320d3bd6-7e94-48b4-8e14-fe434d593b6a",
     "x-runtime": "0.303548",
   },
   "ok": true,
   "originalError": null,
   "problem": null,
   "status": 200,
 }

I went through the devise_token_auth docs and have already added this to my application.rb

config.middleware.use Rack::Cors do
  allow do
    origins '*'
    resource '*',
      headers: :any,
      expose: ['access-token', 'expiry', 'token-type', 'uid', 'client'],
      methods: [:get, :post, :options, :delete, :put]
  end
end

Anyone have any thoughts on how to get this working?

1

There are 1 best solutions below

0
On

Did you add the following to your controller?

include DeviseTokenAuth::Concerns::SetUserByToken