Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Authentication doesn't work #1

Open
kentr opened this issue Nov 21, 2015 · 5 comments
Open

Authentication doesn't work #1

kentr opened this issue Nov 21, 2015 · 5 comments

Comments

@kentr
Copy link
Collaborator

kentr commented Nov 21, 2015

I can't consistently log in when running Drupal under php-pm. I suspect this is somewhat due to it running under the cli SAPI, based on stepping through a request process and observing behavior around lines such as this in \Drupal\Core\StackMiddleware\Session::handle():

    if ($type === self::MASTER_REQUEST && PHP_SAPI !== 'cli') {
      $session = $this->container->get($this->sessionServiceName);
      $session->start();
      $request->setSession($session);
    }

Given that there are several other cases of guards for PHP_SAPI !== 'cli' in core, it's probably a broader problem.

@kentr
Copy link
Collaborator Author

kentr commented Nov 21, 2015

Experimentation with running cli scripts through php-fpm look promising.

In basic tests, PHP_SAPI == 'fpm-fcgi'.

References:

@kentr
Copy link
Collaborator Author

kentr commented Jan 14, 2016

While authentication still isn't working, running PHP-PM under PHP-FPM does allow the request to pass the PHP_SAPI guard as expected in \Drupal\Core\StackMiddleware\Session::handle().

I'll post notes about this setup when I get a chance.

@kentr
Copy link
Collaborator Author

kentr commented Jan 15, 2016

Upon further inspection, I think the authentication and other form submission issues are more likely due to the apparent lack of support for cookies and POST data in \PHPPM\Bridges\HttpKernel::mapRequest().

I've made a pull request for the cookies and am experimenting with POST data.

@kentr
Copy link
Collaborator Author

kentr commented Jan 15, 2016

I take it back. POST is supported:

        // parse body?
        if (isset($headers['Content-Type']) && (0 === strpos($headers['Content-Type'], 'application/x-www-form-urlencoded'))
            && in_array(strtoupper($method), array('POST', 'PUT', 'DELETE', 'PATCH'))
        ) {
            parse_str($content, $post);
        }

@kentr
Copy link
Collaborator Author

kentr commented Feb 16, 2016

Cookie support was added.

Running this app under PHP-FPM does appear to solve the problem with PHP_SAPI. There are still problems with authentication ( #4, #6 ).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant