authentication wso2 soapui

authentication - WSO2 Enviar notificación de recuperación



soapui (1)

La documentación de WSO2 detalla claramente el flujo de trabajo para la recuperación con notificación. La key que debe utilizarse es el valor de retorno de una llamada al servicio web SOAP verifyUser() . Este servicio en sí espera un Captcha que normalmente se enviaría desde la UI. Aquí hay un fragmento de código que muestra cómo se puede enviar una notificación de recuperación:

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");

En nuestra configuración actual de WSO2, después de que un usuario realiza una creación propia, colocamos su cuenta en un estado bloqueado y enviamos un correo electrónico de confirmación a la dirección especificada durante la creación. Este correo electrónico tiene un enlace que le permite al usuario verificar su cuenta.

Para fines de desarrollo, estamos intentando obtener el flujo de trabajo utilizando el wsdl UserInformationRecoveryService en la interfaz de usuario SOAP. El servicio que parece que queremos se llama sendRecoveryNotification . Aquí está la firma de este servicio:

sendRecoveryNotification(String username, String key, String notificationType)

El parámetro de username es simplemente el nombre de usuario del usuario de WSO2 en cuestión, que tenemos. Para la notificationType hemos estado usando el email , lo que presumiblemente desencadenaría un correo electrónico para ser enviado al usuario. El problema es con el parámetro key . No está claro qué valor debe usarse como key , y todas nuestras suposiciones siempre conducen a esta respuesta de error:

18001 código de confirmación no válido para el usuario: tbiegeleisen @ abc.com @ tenant.com

También notamos que muchos otros servicios también esperan una clave, y no está claro cómo obtener este valor.

¿Alguien puede arrojar luz sobre el flujo de trabajo para la recuperación del usuario en WSO2? Parece ser un Catch-22 con respecto a requerir un token para generar un nuevo token que se enviará a un usuario.