2016-05-05 9 views
2

現在のWSO2設定では、ユーザーが自己作成を実行した後、アカウントをロック状態にし、作成中に指定したアドレスに確認メールを送信します。このメールには、ユーザーが自分のアカウントを確認できるリンクがあります。WSO2送信回復通知

開発の目的で、SOAP UIのUserInformationRecoveryService wsdlを使用してワークフローをダウンさせようとしています。私たちが望むようなサービスは、sendRecoveryNotificationと呼ばれています。ここでは、このサービスのシグネチャは、次のとおりです。

sendRecoveryNotification(String username, String key, String notificationType) 

usernameパラメータは、単に我々が持っている問題のWSO2のユーザーのユーザー名です。 notificationTypeについては、emailを使用しています。これは、おそらく電子メールをユーザーに送信するトリガーとなります。問題はkeyパラメータにあります。それはkeyとして使用する必要がありますどのような値は明らかではない、とすべての私たちの推測は常に、このエラー応答につながる:ユーザーのための

18001無効な確認コード:tbiegeleisen @ abc.com @ tenant.com

また、他のいくつかのサービスでもキーが必要であることに気付きましたが、この値を取得する方法は明確ではありません。

誰かがWSO2のユーザー回復のワークフローを明らかにすることはできますか?これは、ユーザーに送られる新しいトークンを生成するためにトークンを必要とする点でCatch-22のようです。

答えて

1

WSO2 documentationは、明らかにリカバリのワークフローを通知で明記しています。 keyは、SOAP WebサービスverifyUser()への呼び出しからの戻り値です。このサービス自体には通常、UIから送信されるCaptchaが必要です。復旧通知の送信方法を示すコードスニペットは次のとおりです。

String cookies = client.login("[email protected]@tenant.com", "admin"); 
UserInformationRecoveryUtil userInfoutil = new UserInformationRecoveryUtil(webserviceUrl, cookies); 
CaptchaInfoBean captchaInfo = new CaptchaInfoBean(); 
captchaInfo.setImagePath(captchaPath); 
captchaInfo.setSecretKey(captchaKey); 
captchaInfo.setUserAnswer(captcha); 
String username = emailId + "@" + tenantDomain; 
String key = userInfoutil.verifyUser(username, captchaInfo); 

// now pass the key based on the Captcha along with the type of recovery action 
userInfoutil.sendRecoveryNotification(username, key, "accountUnLock"); 
関連する問題