2014-05-19 30 views
0

我在执行忘记密码时遇到问题。 我想更改PFUser的密码。我只有电子邮件地址。更改密码解析

PFQuery *query = [PFUser query]; 
    [query whereKey:@"email" equalTo:[txtUserID.text lowercaseString]]; 
    NSArray *arr=[query findObjects]; 

现在我尝试更改密码。

PFUser *user = [arr objectAtIndex:0]; 
user.password=txtConfirmPassword.text; 
[user save]; 

它说我需要身份验证来更改密码。为此,我没有密码登录在第一个地方。 其他方式是使用requestPasswordResetForEmailInBackground。但它发送电子邮件和用户需要点击该链接并设置密码。我的客户不希望这一步。我们有我们的另一种服务,通过问这样的生日几个问题需要照顾用户的,母亲的名字等

我觉得应该有一个以管理员身份登录,谁具有读/写权限的方式。

任何人都使用过类似的东西? 请帮忙。 谢谢。

+0

这将是back4app.com这些天,而不是解析:O – Fattie

+0

你必须使用云代码和主密钥 即,Parse.Cloud.useMasterKey(); 这是在解析论坛上反复解释。例如, https://www.parse.com/questions/custom-reset-password – Fattie

回答

1

有一个在Parse Docs一个“重置密码”一节。

你不重置从设备的密码。这一切都通过解析“重置密码”工作流完成服务器端。对于忘记密码

即请求电子邮件,去的网站,创建新的,等等.....

从设备所做的只是部分请求重置密码电子邮件。

编辑

对于编辑登录的用户的密码,你将能够使用你的代码,你将不得不当前用户对象的写访问。

+0

是。我试过了。它发送一封电子邮件。用户需要点击该链接并更改密码。但我的客户不想要这一步。我们有我们的其他服务,通过询问一些问题来验证用户。那么,有没有办法以管理员身份或使用应用程序密钥或其他方式登录并更改用户密码。 – Durgaprasad

+0

由于这是一个潜在的大规模安全漏洞,我猜测没有。 – Fogmeister

+0

我没有权限访问当前用户,就好像应用程序被删除并重新安装一样,或者如果我的朋友正在使用我的电话登录并重置密码。 – Durgaprasad