【问题标题】:Rails api is not returning access-token and client to external url via devise token authRails api 未通过设计令牌身份验证将访问令牌和客户端返回到外部 url
【发布时间】:2018-11-15 20:17:39
【问题描述】:

我遇到了devise_token_auth 将客户端和访问令牌返回到我的前端的问题。它在我的测试环境中运行良好,我得到了预期的结果。但在我的开发环境中,我使用的是外部 url。这是我创建会话时得到的响应:

 Object {
   "config": Object {
     "adapter": [Function xhrAdapter],
     "baseURL": "http://93ae6a5f.ngrok.io/api/v1",
     "data": "{\"email\":\"test@gmail.com\",\"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": "test@gmail.com",
       "id": 1,
       "image": null,
       "name": null,
       "nickname": null,
       "provider": "email",
       "uid": "test@gmail.com",
       "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,
 }

我浏览了devise_token_auth 文档,并已将其添加到我的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

有人对如何使它工作有任何想法吗?

【问题讨论】:

    标签: ruby-on-rails devise ruby-on-rails-5 devise-token-auth


    【解决方案1】:

    您是否将以下内容添加到您的控制器中?

    include DeviseTokenAuth::Concerns::SetUserByToken 
    

    【讨论】:

      猜你喜欢
      • 2021-05-18
      • 1970-01-01
      • 2016-12-08
      • 1970-01-01
      • 2016-01-22
      • 1970-01-01
      • 2016-10-19
      • 2018-11-08
      • 2013-08-19
      相关资源
      最近更新 更多