【问题标题】:WSO2 recovery notification always defaulting to passwordResetWSO2 恢复通知始终默认为 passwordReset
【发布时间】:2016-05-06 09:26:11
【问题描述】:

我们目前正在尝试使用 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 为同一用户调用服务时的相同行为。此外,当我们从email-admin-config.xml 文件中注释掉passwordReset 配置时,我们会得到一个NullPointerException。所以看起来 WSO2 服务器一心想要使用passwordReset

这个问题很难诊断,因为发生异常的代码在 WSO2 服务器本身,而不是在我们自己的代码中。据我们所知,我们的配置是正确的。

任何能够阐明这个问题的人都会获得大量支持。

【问题讨论】:

    标签: soap wso2 wso2is


    【解决方案1】:

    sendRecoveryNotification 中的第三个参数不是邮件模板。它是应该发送给用户的通知类型,如电子邮件、短信。默认情况下,Identity Server 仅支持电子邮件。

    有什么要求?为什么不能使用密码重置模板?

    谢谢
    伊苏拉

    【讨论】:

    • 感谢您的反馈。假设我使用email 作为通知类型,那么如何指定我要使用的 which 电子邮件模板?如果我们不能选择模板,那么有这么多模板有什么意义呢?
    • Identity Server 决定哪个模板用于哪个任务。如果你要使用密码重置,它选择密码重置模板,如果你想使用自我注册,它需要自我注册电子邮件模板,如果你想使用询问密码功能,它需要询问密码模板。
    • SOAP 要求密码重置和帐户解锁是什么?看起来我们可以定义一个自定义模板。但是如果 WSO2 选择自动使用哪个模板,那我们怎么可能使用自定义模板呢?
    • 您可以关注[1]。它有你所有问题的答案。 [1]docs.wso2.com/display/IS500/Recover+with+Notification
    • 本文档适用于5.0.0,而我们使用的是5.1.0。无论如何,遵循这些步骤并不能解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    相关资源
    最近更新 更多