WSO2 - 无需使用验证码,电子邮件或质询问题即可恢复密码

时间:2016-04-11 20:01:39

标签: wso2 wso2is wso2carbon

我正在尝试从使用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提到的恢复过程,但错误仍在继续:

  1. getCaptcha() - 因为我没有假装验证码而被忽略
  2. verifyUser() - 成功返回密钥。
  3. sendRecoveryNotification() - 从步骤2给出密钥失败:18001用户无效确认代码。
  4. getCaptcha() - 因为我没有假装验证码而被忽略
  5. verifyConfirmationCode() - 使用步骤2中的密钥:18001用户无效的确认码。
  6. updatePassword() - 使用步骤2中的密钥:18013更新用户凭证时出错。
  7. 是否可以在不使用验证码或电子邮件的情况下恢复密码?

1 个答案:

答案 0 :(得分:0)

Notification.Expire.Time设置为更高的值(例如,60)。这是密钥有效的时间(以分钟为单位)。在你的情况下,当你拨打sendRecoveryNotification()时,密钥应该已经过期。

同样在步骤6中,当呼叫updatePassword()时,它应该是步骤5中的密钥(当您获得上述修复时,您将获得一个密钥),而不是步骤2中的密钥。