Hi Karl,
Thanks for your answer.
The login sequence I configured was the problem but not because some part were
missing, the main problem was that I entered the same regular expression to
address two different login types : a login page and a redirect page.
I did not check the code, but it seems that the connector saves the login
sequence into an HashMap with the login regex as key. So my redirect rule
“other-site\/cas\/login = redirect” was overridden by the form rule
“other-site\/cas\/login = form”. This is why in the debug log, the other-site
302 response was not recognized by the login sequence.
I have modified the two rules so that the regex are different and it works !
I hope my use case will help other people if they encounter the same problem.
Note that the solution I implemented sounds to me more like a workaround than a
solution. Let me explain: I was able to differentiate the regex rules by
removing a letter in one of them:
“other-site\/cas\/logi = redirect” vs “other-site\/cas\/login = form”. But this
does not feel like a “clean” solution
Regards,
Julien
De : Karl Wright <[email protected]>
Envoyé : vendredi 29 mai 2020 22:32
À : [email protected]
Objet : Re: Web connector login sequence
Hi Julien,
The login sequence must include all parts of the login sequence, from
initiation (the first 302 that you get when you load /site) all the way through
to the last action that sets the cookie. After the login sequence is
completed, the /site URL will be fetched again. If you need more than one
fetch to set more than one cookie, ALL the fetches must match your description
of the login sequence or it will abort early. If the cookie gets set on a
final redirection, be sure to include that redirection too.
Karl
On Fri, May 29, 2020 at 12:01 PM < <mailto:[email protected]>
[email protected]> wrote:
Hi MCF community,
I need some help with the configuration of a login sequence with the Web
connector. Here is the login sequence on a web browser :
GET site/
302 -> site/login
302 -> other-site/cas/login
401 other-site/cas/login
POST other-site/cas/login (set cookie)
302 -> site/login?param1=value (set cookie)
302 -> site/login?param1=value (set cookie)
302 -> site/
I tested the following conf :
Session: site
site\/login = redirect
other-site\/cas\/login = redirect
other-site\/cas\/login = form
username=john
password=***
This configuration works till the form POST, after the form POST, the first
cookie is correctly retrieved by the job but then it ends up in an infinite
loop. Here are the debug logs:
….
DEBUG 2020-05-29T15:07:25,560 (Worker thread '11') -
MCF|MCF-agent|apache.manifoldcf.connectors|WEB: For
<https://other-site/cas/login> https://other-site/cas/login, setting virtual
host to other-site
DEBUG 2020-05-29T15:07:25,560 (Worker thread '11') -
MCF|MCF-agent|apache.manifoldcf.connectors|WEB: Got an HttpClient object after
1 ms.
DEBUG 2020-05-29T15:07:25,560 (Worker thread '11') -
MCF|MCF-agent|apache.manifoldcf.connectors|WEB: Post method for '/cas/login'
…..
DEBUG 2020-05-29T15:07:18,442 (Worker thread '11') -
MCF|MCF-agent|apache.manifoldcf.connectors|WEB: Retrieving cookies...
DEBUG 2020-05-29T15:07:18,442 (Worker thread '11') -
MCF|MCF-agent|apache.manifoldcf.connectors|WEB: Cookie '[version: 0]xxxxxxxxxx
INFO 2020-05-29T15:07:18,448 (Worker thread '11') -
MCF|MCF-agent|apache.manifoldcf.connectors|WEB: FETCH LOGIN|
<https://other-site/cas/login%7C1590764838416+31%7C302%7C0%7C>
https://other-site/cas/login|1590764838416+31|302|0|
DEBUG 2020-05-29T15:07:18,448 (Worker thread '11') -
MCF|MCF-agent|apache.manifoldcf.connectors|WEB: Document '
<https://other-site/cas/login> https://other-site/cas/login' did not match
expected form, link, redirection, or content for sequence 'site'
….
It seems that the redirection after the form POST is not considered by the job
but I don’t know why. After that, there is an infinite loop where the cookie is
passed on the GET “site/login” which redirects to “other-site/login”, but this
time, when “other-site/login” get the cookie in the request, it does not send a
302 redirect response code but a 200 OK
I don’t know why there is such behavior and I would be glad to have your
advises !
Thanks for your help
Julien