es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

msal4j – No se encontró el punto de extremo WsTrust en el documento de metadatos.

Estoy utilizando la biblioteca msal4j (versión 1.9.1) para realizar autenticación, utilizando OUTH2.0 y OpenId con Azure Active Directory, al final necesito adquirir un token.
Se me solicitó realizar esta operación a través de un proxy, así que intenté utilizar el código que encontré en la documentación de msal4j:

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));
Authenticator.setDefault(new Authenticator() {
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(
                proxyUser,
                proxyPassword.toCharArray());
    }
});
Set<string> scope = Collections.singleton("User.Read");
SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, TrustAllStrategy.INSTANCE).build();
PublicClientApplication pca = PublicClientApplication.builder(clientId)
        .httpClient(new MyHttpClient(proxy, sslContext.getSocketFactory(), 0, 0))
        .authority("https://login.microsoftonline.com/organizations").build();
UserNamePasswordParameters parameters = UserNamePasswordParameters
        .builder(scope, user, password.toCharArray()).build();
// Aquí obtengo el error
IAuthenticationResult result = pca.acquireToken(parameters).join();

Pero estoy obteniendo este error en el método acquireToken:

java.util.concurrent.ExecutionException:
com.microsoft.aad.msal4j.MsalServiceException: WsTrust endpoint not
found in metadata document at
java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
at
java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
Caused by: com.microsoft.aad.msal4j.MsalServiceException: WsTrust
endpoint not found in metadata document

También intenté utilizar el método “get” en lugar de “join”, pero obtuve el mismo resultado.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que el método acquireToken no puede encontrar el endpoint de WsTrust en el documento de metadatos. Esto puede ser causado por una variedad de factores, pero podría estar relacionado con la configuración del proxy.

    Para solucionar el problema, puede intentar los siguientes pasos:

    1. Verifique que la configuración del proxy sea correcta
      Revise nuevamente los valores de proxyHost, proxyPort, proxyUser y proxyPassword para asegurarse de que sean correctos.
    2. Verifique si el documento de metadatos es accesible
      Intente acceder directamente al documento de metadatos (https://login.microsoftonline.com/organizations/.well-known/openid-configuration) y vea si se carga correctamente. Si no es así, puede haber un problema relacionado con la red.

    3. Pruebe sin un proxy
      Elimine temporalmente el código relacionado con el proxy y vuelva a ejecutar el método acquireToken sin un proxy. Si funciona, entonces el problema podría estar relacionado con la configuración del proxy.

    4. Verifique los registros
      Habilite el registro de depuración para la biblioteca msal4j y verifique los registros en busca de cualquier mensaje de error o rastreo adicional.

    5. Contacte al soporte de Microsoft
      Si ninguno de los pasos anteriores ayuda, puede contactar al soporte de Microsoft para obtener ayuda adicional.

    Nota: Tenga en cuenta que esta no es una lista exhaustiva de pasos de solución de problemas y la solución puede variar dependiendo del contexto específico del problema.

Comments are closed.