我想检查当前用户的密码,以便让他更改密码。
根据用户模型文档,这样做的方法是使用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
有关如何完成此任务的任何线索?
答案 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
});