1
votes

I am trying to get a user to login to drupal using an existing service. I am able to POST the username and password to drupal on the remote server and I do get authentication information back.

My problem is how do I register the session so drupal knows I am logged in? Once I login, and try to access anything, I get "Access denied for anonymous user".

I noticed looking at the services notes that is says:

Authentication : header Cookie must be set to <session_name>=<sessid> given by the login response of a successful login

so I tried

$_SESSION[$curlResult->session_name] = $curlResult->sessid;

which I don't think is what that line above is saying. Not sure what a header cookie is.

$curlResult->session_name and $curlResult->sessid are definitely valid and that is part of what is returned on successful login.

1
I think I just figured it out. curl_setopt($ch, CURLOPT_COOKIE, "" . $_SESSION['user']->session_name . "=" . $_SESSION['user']->sessid . ""); - Ronnie

1 Answers

0
votes

Can you give us an idea of what you're trying to do once logged in as a user? There is the Services module which can allow for user access through REST.

I've had success logging in as a remote user, without Services module, using Python mechanize for load testing.