2016-05-06 15 views
1

Wir versuchen derzeit, WSO2 zum Senden einer Wiederherstellungs-E-Mail zum Entsperren neu erstellter Benutzerkonten zu verwenden. Um präzise, ​​hier sind die entsprechenden zwei Zeilen Java-Code, der dies zu tun versuchen: HierWSO2-Wiederherstellungsbenachrichtigung immer standardmäßig passwordReset

String key = userInfoutil.verifyUser("[email protected]", captchaBean); 
userInfoutil.sendRecoveryNotification("[email protected]", key, "accountUnLock"); 

werden, was die drei Parameter sendRecoveryNotification() sind:

[email protected] - user/tenant to notify 
key     - authorization string based off Captcha 
accountUnLock  - email template to use for recovery message 

Aber was wir beobachtet haben, ist, dass die passwordReset Vorlage immer verwendet wird. Mit anderen Worten, es ignoriert alles, was wir angeben, und sendet eine E-Mail zum Zurücksetzen des Passworts. Wir haben auch das gleiche Verhalten überprüft, als wir den Service direkt von der SOAP-Benutzeroberfläche für denselben Benutzer aus aufgerufen haben. Wenn wir die passwordReset Konfiguration aus der Datei auskommentieren, erhalten wir außerdem eine NullPointerException. So scheint es, dass der WSO2-Server mit der Verwendung passwordReset höllisch verbogen ist.

Dieses Problem ist schwer zu diagnostizieren, da der Code, bei dem die Ausnahme auftritt, auf dem WSO2-Server selbst und nicht in unserem eigenen Code liegt. Soweit wir wissen, haben wir die Konfiguration korrekt.

Massive Upvote kommt zu jedem, der dieses Problem sogar beleuchten kann.

Antwort

1

Der dritte Parameter in sendRecoveryNotification ist nicht die E-Mail-Vorlage. Es ist die Art der Benachrichtigung, die an den Benutzer wie E-Mail, SMS gesendet werden soll. Standardmäßig unterstützt Identity Server nur E-Mails.

Was ist die Anforderung? Warum können Sie keine passwordReset-Vorlagen verwenden?

Dank
isura

+0

Vielen Dank für das Feedback. Angenommen, ich verwende 'E-Mail' als Benachrichtigungstyp, wie kann ich angeben, welche E-Mail-Vorlage ich verwenden möchte? Wenn wir die Vorlage nicht wählen können, was hätte dann den Sinn, so viele zu haben? –

+0

Identity Server entscheidet, welche Vorlage für welche Aufgabe verwendet wird. Wenn Sie das Zurücksetzen des Kennworts verwenden möchten, wählt es die Vorlage zum Zurücksetzen des Kennworts aus. Wenn Sie die Selbstregistrierung verwenden möchten, wird die selbstregistrierende E-Mail-Vorlage benötigt. –

+0

Was würde die SOAP für das Zurücksetzen des Kennworts und das Freischalten des Kontos benötigen? Es scheint, dass wir eine benutzerdefinierte Vorlage definieren könnten. Aber wenn WSO2 die automatisch zu verwendende Vorlage auswählt, wie könnten wir dann eine benutzerdefinierte Vorlage verwenden? –