如何在angular的strongloop SDK中查看用户密码?

时间:2015-12-10 15:09:24

标签: angularjs strongloop

我想检查当前用户的密码,以便让他更改密码。

根据用户模型文档,这样做的方法是使用user.hasPassword方法,我得到一个"不是一个函数"错误。 https://docs.strongloop.com/display/LB/User#user-prototype-haspassword

在角度SDK文档中没有对此进行引用,因此我猜测这种方法无法从角度中获取。 https://docs.strongloop.com/display/public/LB/AngularJS+JavaScript+SDK#AngularJSJavaScriptSDK-Authentication

有关如何完成此任务的任何线索?

1 个答案:

答案 0 :(得分:0)

很抱歉,如果这只是语义,但如果您使用的是内置用户模型,则无法检查用户的密码,"您检查它们是否使用标头中设置的有效authToken进行身份验证。

但是,如果您尝试更改用户的密码并要求他们在更改之前登录,您也可以调用User.login()并验证您是否获得了API的成功响应。然后使用新密码并通过使用update或updateAttributes更新User实例来保留它。

请参阅https://apidocs.strongloop.com/loopback-sdk-angular/#user

看起来像这样(警告:快速写入,未经过测试!):

User.login({email: $scope.email, password: $scope.oldPassword}, function(response){

  // user login was valid, now update user with new password by user id
  //
  User.prototype$updateAttributes({id: response.user.id}, {password: $scope.newPassword}, 
  function(response) {
    // success
  }, function(response) {
    // fail
  });

}, function(response) {
  // login failed, send to login screen
});