【问题标题】:How to set the Access-Token for the password reset in LoopBack with the AngularJs SDK如何使用 AngularJs SDK 在 LoopBack 中设置密码重置的访问令牌
【发布时间】:2019-11-18 23:51:05
【问题描述】:

我的项目是基于

环回入门教程2

我在客户端使用 AngularJs SDK,我想实现“密码重置”功能。

首先是/reset-password 视图,您可以在其中输入您的电子邮件地址并要求输入另一个密码。

然后,您会在每封电子邮件中收到一个链接,将您定向到/set-new-password/{{accessToken}}/{{userId}}

在此视图中,用户输入密码并提交。之后它应该通过 Id 找到用户并更新其密码。

但是对于User.findByIdUser.updateById,我需要请求标头中的访问令牌。 “通常”请求标头在登录后始终包含访问令牌。但是因为是重设密码,所以我没有登录。

我可以通过$stateparams 访问访问令牌,但是如何在Request-Header 中设置它,这样我仍然可以使用AngularJs-SDK?

(我希望一切都清楚。英语不是我的母语)

【问题讨论】:

    标签: angularjs loopback


    【解决方案1】:

    编辑:我发现有人有几乎相同的问题here。不接受的答案现在对我有用。

    EditEdit: 并不总是有效.. 有时它不会更改 Header 中的“授权”参数。不知道为什么

    【讨论】:

      【解决方案2】:

      使用 LoopBack AngularJs SDK 的解决方案

      在你的 angularJs 控制器中

      .controller(function (UserAccount, $location, LoopBackAuth, $scope) {
            var params = $location.search();
            var access_token = params.access_token;
            $scope.reset = function(inputs) {
              LoopBackAuth.setUser(access_token);
              UserAccount.setPassword({ newPassword: inputs.newPassword });
            }
      })
      
      

      您需要实施错误控制,最好在发送前检查两次密码。

      【讨论】:

        猜你喜欢
        • 2019-12-16
        • 2014-08-24
        • 2015-12-18
        • 2017-05-09
        • 1970-01-01
        • 1970-01-01
        • 2020-07-13
        • 2016-02-22
        • 1970-01-01
        相关资源
        最近更新 更多