我正在尝试从使用Soap与WS02身份服务器通信的应用程序恢复用户密码 .
我打算要求WS02提供密码恢复的确认码,通过电子邮件将其发送给用户,当我收到确认码时,将其与新密码一起发布到WSO2 api .
我正在使用以下设置:
Notification.Sending.Enable=false
Notification.Expire.Time=0
Notification.Sending.Internally.Managed=false
UserAccount.Recovery.Enable=true
Captcha.Verification.Internally.Managed=false
我试图按照here提到的恢复过程,但错误不断发生:
-
getCaptcha() - 忽略,因为我没有假装验证码
-
verifyUser() - 成功返回一个键 .
-
sendRecoveryNotification() - 当从步骤2给出密钥时失败:18001用户的无效确认代码 .
-
getCaptcha() - 忽略,因为我没有假装验证码
-
verifyConfirmationCode() - 使用步骤2中的密钥:18001用户的无效确认代码 .
-
updatePassword() - 使用步骤2中的密钥:18013更新用户凭据时出错 .
是否可以在不使用验证码或电子邮件的情况下恢复密码?
1 回答
将
Notification.Expire.Time
设置为更高的值(例如,60) . 这是密钥有效的时间(以分钟为单位) . 在你的情况下,当你拨打sendRecoveryNotification()
时,密钥应该已经过期 .同样在步骤6中,当调用
updatePassword()
时,它应该是步骤5中的键(当你得到上面的修复时你会得到一个),而不是第2步中的那个 .