2017-09-08 1 views
1

J'ai une partie de mon flux d'applications qui réutilise un ancien service de connexion. Cet ancien service de connexion utilise une redirection 302 avec un en-tête Location qui inclut un paramètre de requête que je dois capturer et utiliser comme code d'autorisation.Désactiver suivre redirection dans le cadre BDD Karaté?

À l'heure actuelle, le cadre de Karate me transfère utilement à l'emplacement spécifié dans l'en-tête Location. Comment puis-je désactiver cela afin que je puisse capturer les valeurs moi-même?

09:39:26.096 [main] DEBUG com.intuit.karate - 
2 < 302 
2 < Connection: keep-alive 
2 < Content-Length: 0 
2 < Content-Type: application/json;charset=ISO-8859-1 
2 < Date: Fri, 08 Sep 2017 15:39:25 GMT 
2 < Server: nginx/1.4.6 (Ubuntu) 
2 < Set-Cookie: [JSESSIONID=0000UDF76JJ7ZGsFlTs9FPYcVoN:1bj4v930o; Path=/; HttpOnly, PD-S-SESSION-ID=1_2_1_upREX6Zqm0NTxJ5dNQeSyVeaiUFYnO1OdgUVYXYnekLFY-A7; Path=/; Secure; HttpOnly, PD-ID=ZugwEuE0PZmTNhZkIlog5FqfvlDKD2nfvKAZ+ebfTvVx2dzw0JAgyOMeviZx3xsxYndwQxGmURx6n32fscUXMw3X8P9FpNDssgIz355kfTeda/25qxPf+uaEvs8JpE2FxsMWkzQ25qM2KmrhAK9QTRu31oflpD6eL+klFfDahSSTQlFMXZmB4Yjsc8DOnoGAhbv19Yh9A8OuzDFXimwML2a+Yn9UYN/ZjRXF45veNQGsA9/dtP/nfZl6eAPyy7mdSKunhHuWggBtYFP9kAgmB1LJ87MFWsOhZEwcnmLsJM078tRStGLeOFo7KX+1FtMhhcV76UkTxDFj1VR68fSPdzF+84oeyxf0WhQ0UZB+oc76kQtl94B7uW4X/lp9jADlGUwrE8hPQ5asPcPblt6E0yPyi+TvouK/0XHpy7QfAeXZqyifs+yeUOKHBdHUXHI7QhnadEX0GViHPsqZ5amztnYkF5mMQLkdXYIO22oSHCtci7M08gr1usTLrHc/hIBm; Path=/; Secure; HttpOnly, BigIPWebSeal=rd3o00000000000000000000ffff0a1bf852o443; path=/] 
2 < X-Application-Context: sv:dev:8080 
2 < X-B3-Sampled: 1 
2 < X-B3-SpanId: 3229b43a709ac873 
2 < X-B3-TraceId: 3229b43a709ac873 
2 < X-Backside-Transport: OK OK 
2 < X-Client-IP: x.x.x.x 
2 < X-Global-Transaction-ID: 1890531591 
2 < cache-control: no-cache="set-cookie, set-cookie2" 
2 < content-language: en-US 
2 < expires: Thu, 01 Dec 1994 16:00:00 GMT 
2 < iis_server_name: APPA014D 
2 < location: https://a-url.com/path?code=a51769a482e5 
2 < p3p: CP="NON CUR OTPi OUR NOR UNI" 
2 < strict-transport-security: max-age=31536000; includeSubDomains 
2 < x-powered-by: Servlet/3.0 
2 < x-xss-protection: 1;mode=block 

Répondre

1

Wow, pour être honnête, personne ne l'a demandé. Jusqu'à maintenant. On dirait que nous devrons ajouter ce support: http://www.baeldung.com/httpclient-stop-follow-redirect

Cela peut être mis en œuvre assez rapidement, pouvez-vous soulever une demande de fonctionnalité? S'il s'agit d'un bloqueur, vous pouvez temporairement appeler Java et utiliser une instance du client Apache Http ou quelque chose. Je me demandais si vous aviez la possibilité d'accéder à un lastRedirectUrl à la place aurait-il aidé.

edit: cela a été implemented in dev et sera disponible dans la version 0.6.0

+0

Je viens de créer une demande de traction pour cela. https://github.com/intuit/karate/pull/176 – PaulProgrammer

+1

Ma théorie dans le PR est que les développeurs d'API ne veulent presque jamais suivre les redirections à l'aveuglette. – PaulProgrammer

+1

J'aimerais ne pas être d'accord avec vous. paix. –