8000 added information on AuthenticationFailureHandlerInterface in api key… · symfony/symfony-docs@92fb4b1 · GitHub
[go: up one dir, main page]

Skip to content

Commit 92fb4b1

Browse files
Sam Hudsonweaverryan
Sam Hudson
authored andcommitted
added information on AuthenticationFailureHandlerInterface in api keys docs
1 parent d6a17e7 commit 92fb4b1

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

cookbook/security/api_key_authentication.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,27 @@ exception in ``refreshUser()``.
210210
If you *do* w 8000 ant to store authentication data in the session so that
211211
the key doesn't need to be sent on every request, see :ref:`cookbook-security-api-key-session`.
212212

213+
Handling Exceptions
214+
-------------------
215+
216+
In order for you're ``ApiKeyAuthentication`` to correctly display a 403 http status when either bad credentials, or authentication fails you will need to implement the ``AuthenticationFailureHandlerInterface`` on your Authenticator. This will provide a method ``onAuthenticationFailure`` which you can then return a ``Response`` with.
217+
218+
// src/Acme/HelloBundle/Security/ApiKeyAuthenticator.php
219+
namespace Acme\HelloBundle\Security;
220+
221+
use Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface;
222+
use Symfony\Component\HttpFoundation\Response;
223+
224+
class ApiKeyAuthenticator implements SimplePreAuthenticatorInterface, AuthenticationFailureHandlerInterface
225+
{
226+
//...
227+
228+
public function onAuthenticationFailure(Request $request, AuthenticationException $exception)
229+
{
230+
return new Response("Authentication Failed.", 403);
231+
}
232+
}
233+
213234
.. _cookbook-security-api-key-config:
214235

215236
Configuration

0 commit comments

Comments
 (0)
0