Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication 设计令牌身份验证/Angular2令牌,更新密码,完成401未授权_Authentication_Angular_Rails Api_Devise Recoverable - Fatal编程技术网

Authentication 设计令牌身份验证/Angular2令牌,更新密码,完成401未授权

Authentication 设计令牌身份验证/Angular2令牌,更新密码,完成401未授权,authentication,angular,rails-api,devise-recoverable,Authentication,Angular,Rails Api,Devise Recoverable,我在使用Desive_token_auth恢复密码时遇到问题。和Angular2代币。我正在成功接收带有更新密码链接的电子邮件。但我在提交新密码时收到401未经授权的响应 前端。我使用urlparms.get('token') 后端响应 Started PATCH "/api/auth/password/" for 127.0.0.1 at 2016-12-01 21:17:48 +0100 Processing by DeviseTokenAuth::PasswordsController#u

我在使用Desive_token_auth恢复密码时遇到问题。和Angular2代币。我正在成功接收带有更新密码链接的电子邮件。但我在提交新密码时收到401未经授权的响应

前端。我使用
urlparms.get('token')

后端响应

Started PATCH "/api/auth/password/" for 127.0.0.1 at 2016-12-01 21:17:48 +0100
Processing by DeviseTokenAuth::PasswordsController#update as JSON
  Parameters: {"reset_password_token"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}
Completed 401 Unauthorized in 1ms (Views: 0.4ms | ActiveRecord: 0.0ms)
在电子邮件的链接中,我得到了以下令牌:
reset\u password\u token=HneZDoKTMCLF3\u SLfnxy

当我访问链接时,用户记录将更新为以下属性:

reset_password_token: "aa3cba76c7b1d8f78cde6856f43e1cce57f5fc8e5301842733de677eff909bc1"
tokens: {}
然后在浏览器URL中,我得到以下
token=agejaip2SqOp9nvwE1GAHQ&uid

然后使用以下属性更新用户记录:

...
reset_password_token: "HneZDoKTMCLF3_SLfnxy",
tokens: {"pv9i1BDTM29ezep0KSPzpA"=>{"token"=>"$2a$10$cS9gbe9UBICcgphZHRAENOMS6NlEe0Em1cNufY3LSRTPE.hRMabvi", "expiry"=>1481834221}}
...
在我看来,我在URL中得到的令牌是不正确的。
有人有主意吗

抱歉,这有点难以解释。
非常感谢

轨道(4.2.4)
设计令牌认证(0.1.34)
设计(=3.5.1)

angular2 token:0.2.0-beta.1

我最近面临类似的挑战,这就是我解决问题的方法

公开后端的“访问令牌”、“到期”、“令牌类型”、“uid”、“客户端”。检查和

设置您的重定向url的
路径:/password,方法:POST
。检查信息

我们需要修改reset\u password\u instructions.html.erb以将其指向api GET/auth/password/edit。提供了更多信息

例如,如果您的API位于API命名空间下:


最近我遇到了类似的挑战,我就是这样解决的

公开后端的“访问令牌”、“到期”、“令牌类型”、“uid”、“客户端”。检查和

设置您的重定向url的
路径:/password,方法:POST
。检查信息

我们需要修改reset\u password\u instructions.html.erb以将其指向api GET/auth/password/edit。提供了更多信息

例如,如果您的API位于API命名空间下:

...
reset_password_token: "HneZDoKTMCLF3_SLfnxy",
tokens: {"pv9i1BDTM29ezep0KSPzpA"=>{"token"=>"$2a$10$cS9gbe9UBICcgphZHRAENOMS6NlEe0Em1cNufY3LSRTPE.hRMabvi", "expiry"=>1481834221}}
...
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, :patch]
    end
end