WSO2有一个通过电子邮件更新密码的6个步骤。
getCaptcha() - Generates a captcha.
verifyUser() - Validates the captcha answer and username and returns a new key.
sendRecoveryNotification() - Send an email notification with a confirmation code to the user. Need to provide the key from previous call.
getCaptcha() - Generates a captcha when the user clicks on the URL.
verifyConfirmationCode() - Validates the captcha answer and confirmation code. This returns a key.
updatePassword() - Updates the password in the system. Need to provide the key from previous call, new password and returns the status of the update, true or false.
步骤3将确认代码发送到电子邮件地址,然后在步骤5中提供,验证用户是否正确。
当一个人输入他们已经使用过的密码时,就会出现问题。如果过去使用了输入的密码,则数据库将拒绝该密码,从而使WSO2返回密码更新错误。当一个人然后输入新密码时,确认代码已失效。这意味着用户必须重新启动整个过程才能获得重新设置密码的新代码。
如果输入了错误的密码,是否有设置阻止确认码自身失效?
他们的网站声明:
此外,对于每次通信,服务不会重复使用生成的确认代码。这使得服务安全并且无法重复尝试访问相同的服务。因此,对于基于电子邮件的恢复,呼叫应用程序必须执行的调用顺序如下:
这是否意味着密码更新会话中的一个用户只有一个尝试更改密码?
答案 0 :(得分:0)
AFAIK这是当前版本5.0.0的限制。
创建了一个JIRA [1]来提及这个要求。
[1] https://wso2.org/jira/browse/IDENTITY-3175
HTH, DarRay