PHP - Conexion web services

 
Vista:

Conexion web services

Publicado por Gustavo (3 intervenciones) el 09/11/2018 11:01:41
Buenas, necesito de ayuda!!

Tengo una aplicación en PHP 7 y necesito conectarme a una WS mediante CAS y spring security, me pasaron un instructivo en java pero no se como integrarlo con mi aplicación. Les paso la parte de la conexión del instructivo, a ver si alguien me puede orientar como realizarlo.

Las versiones indicadas son las mínimas necesarias. Utilización Se provee de el siguiente conjunto de clases: Configuración de EmisionClient Actualmente, se proveen un conjunto de constantes que configuran EmisionClient, de estas, hay que cambiar las que se encuentran en EmisionClientConfiguration e indican la url del servidor.

String SERVER_URL = "http://.......com.ar";
String CAS_SERVER_URL = "https://.......:7143/cas";

Uso del cliente
Luego, solo resta utilizarlo, indicando el usuario y contraseña que hayan sido asignados e invocando al método que se necesite consultar. A continuación, se muestra un ejemplo de cómo instanciar e invocar uno de los servicios:

(1) EmisionClient client = new EmisionClient(USERNAME, PASSWORD);
(2) if (client.isConnected()) {
// Retorna todos los Tipos de interes asegurable
(3) Object tiponteresList = client.getTiponteresList();
}

Puede observarse que queda oculto todo el proceso de autenticación del usuario. Este proceso lo lleva a cabo la clase abstracta, la cual se conecta utilizando la URL configurada en EmisionClient

Para comprender mejor el proceso de autenticación, se pasa a explicar lo pasos que sigue ese proceso

En el constructor de la clase AbstractStatefulClient, están los pasos de autenticación definidos, Esto se ejecuta en la línea (1) del código más arriba

public AbstractStatefulClient(String username, String password, String springSecurityUrl) {
// Generate a ticket with user and password
String ticket = getLogInTicket(username, password);
// Generate a service ticket
String serviceTicket = getServiceTicket(ticket);
// Generate cookie
setConnected(generateSessionCookie(serviceTicket));
}

Estos tres pasos son los que se deberían implementar en caso de no utilizar la clase provista EmisionClient,
1 Autenticar el usuario con el servicio provisto por CAS
2 Obtener un ticket para el servicio de autorización de Spring
3 Obtener una sesión autenticada en spring

Sin estos 3 pasos el servicio no aceptará conexiones. En ese caso queda el flag connected en true (2) Como cuarto paso, en la llamada (3) del código de más arriba, está la llamada al método propiamente dicho, donde se invoca la comunicación POST provista por la clase AbstractStatefulClient: protected String doPost(String serviceUrl, String postData)...

Todos los servicios provistos reciben un request POST.

Lo que necesito, si pueden orientarme, es como hacer la conexion a CAS y spring desde php.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder