我们目前正在尝试使用WSO2发送恢复电子邮件以解锁新创建的用户帐户。简而言之,以下是尝试执行此操作的相关两行Java代码:
String key = userInfoutil.verifyUser("someuser@tenant.com", captchaBean);
userInfoutil.sendRecoveryNotification("someuser@tenant.com", key, "accountUnLock");
以下是sendRecoveryNotification()
的三个参数:
someuser@tenant.com - user/tenant to notify
key - authorization string based off Captcha
accountUnLock - email template to use for recovery message
但是,我们观察到的是passwordReset
模板总是被使用。换句话说,它忽略我们指定的任何内容并发送密码重置电子邮件。我们还在直接从SOAP UI为同一用户调用服务时验证了相同的行为。此外,当我们从passwordReset
文件中注释掉email-admin-config.xml
配置时,我们会得到NullPointerException
。所以似乎WSO2服务器一直都在使用passwordReset
。
这个问题很难诊断,因为异常发生的代码在WSO2服务器本身,而不是在我们自己的代码中。据我们所知,我们的配置正确。
任何能够解决这个问题的人都可以获得大量的支持。
答案 0 :(得分:1)
sendRecoveryNotification中的第三个参数不是电子邮件模板。这是应该像电子邮件,SMS一样发送给用户的通知类型。默认情况下,Identity Server仅支持电子邮件。
有什么要求?为什么不能使用passwordReset模板?
感谢
Isura