我正在尝试构建一个 rails API,我正在使用 devise_token_auth gem 使用 token 进行用户身份验证。
我设法正确设置了所有内容,但遇到了问题。每当我尝试重置密码时,都会收到来自 API 的 401 Unauthorized 错误。
流程如下:
我的问题发生在第 8 步和第 9 步之间,在那里我收到了 401 未经授权的响应。这是为什么?我能做些什么来解决这个问题?
编辑:
从有关此问题的文档和线程中,我意识到它与标题有关。但是,我不知道如何使用 Ruby on Rails 管理请求的 header 。
编辑2:
我设法找出问题所在。我需要通过访问 token , 客户和 用户名作为标题。我可以访问该信息,并且正在尝试通过执行以下操作来设置请求 header :
http = Net::HTTP.new("127.0.0.1", "3000")
request = Net::HTTP::Put.new("/api/v1/auth/password")
request.add_field('uid', @@sens_pms["uid"])
request.add_field('client', @@sens_pms["client_id"])
request.add_field('access-token', @@sens_pms["token"])
response = http.request(request)
但是,当我这样做时,出现了一个新问题。服务器 (API) 应用程序抛出以下错误:
ActionDispatch::Cookies::CookieOverflow (ActionDispatch::Cookies::CookieOverflow)
重要信息:我在开发环境中执行此操作(没有 nginx,只有 webrick)
最佳答案
好吧,实际上我克服了
You must fill out the fields labeled 'Password' and 'Password confirmation
我确实更新了 header
和'Authorization': 'Basic ',
'Content-Type' : 'application/json',
"token-type" : 'Bearer',
'access-token' : token,
'expiry':'XXXXX',
'client':'XXXXX',
'uid':'XXXXX',
关于ruby-on-rails - Devise_token_auth 重置密码流程 401 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40722894/