diff --git a/cookbook/security/custom_authentication_provider.rst b/cookbook/security/custom_authentication_provider.rst index c528b69ae32..677e69e8b72 100644 --- a/cookbook/security/custom_authentication_provider.rst +++ b/cookbook/security/custom_authentication_provider.rst @@ -137,8 +137,9 @@ set an authenticated token in the security context if successful. try { $authToken = $this->authenticationManager->authenticate($token); - $this->securityContext->setToken($authToken); + + return; } catch (AuthenticationException $failed) { // ... you might log something here @@ -152,6 +153,11 @@ set an authenticated token in the security context if successful. $event->setResponse($response); } + + // By default deny authorization + $response = new Response(); + $response->setStatusCode(403); + $event->setResponse($response); } } @@ -233,6 +239,10 @@ the ``PasswordDigest`` header value matches with the user's password. if (file_exists($this->cacheDir.'/'.$nonce) && file_get_contents($this->cacheDir.'/'.$nonce) + 300 > time()) { throw new NonceExpiredException('Previously used nonce detected'); } + // If cache directory does not exist we create it + if (!is_dir($this->cacheDir)) { + mkdir($this->cacheDir, 0777, true); + } file_put_contents($this->cacheDir.'/'.$nonce, time()); // Validate Secret