refactor deprecated methodes

This commit is contained in:
El. Abdellah
2021-11-11 14:42:02 +01:00
parent 4b6ba3e661
commit 670a76807c
3 changed files with 15 additions and 6 deletions

View File

@@ -28,13 +28,13 @@ class KeycloakBearerAuthenticator extends AbstractAuthenticator
public function supports(Request $request): ?bool
{
return $request->headers->has('Authorization');
return true;
}
public function authenticate(Request $request): PassportInterface
{
$token = $request->headers->get('Authorization');
if (null === $token) {
if (null === $token || empty($token)) {
// The token header was empty, authentication fails with HTTP Status
// Code 401 "Unauthorized"
throw new CustomUserMessageAuthenticationException('Token is not present in the request headers');

View File

@@ -245,6 +245,14 @@ class KeycloakBearerUser implements UserInterface, \Serializable
return $this->preferred_username;
}
/**
* @return string
*/
public function getUserIdentifier(): string
{
return $this->preferred_username;
}
/**
* Removes sensitive data from the user.
*
@@ -298,4 +306,4 @@ class KeycloakBearerUser implements UserInterface, \Serializable
$this->accessToken
) = unserialize($serialized, ['allowed_classes' => false]);
}
}
}

View File

@@ -5,6 +5,7 @@ namespace ABEL\Bundle\keycloakBearerOnlyAdapterBundle\Security\User;
use GuzzleHttp\Client;
use Symfony\Component\Security\Core\Exception\CustomUserMessageAuthenticationException;
use Symfony\Component\Security\Core\Exception\UnsupportedUserException;
use Symfony\Component\Security\Core\Exception\UserNotFoundException;
use Symfony\Component\Security\Core\User\UserInterface;
@@ -115,11 +116,11 @@ class KeycloakBearerUserProvider implements UserProviderInterface{
$jwt = json_decode($response->getBody(), true);
if (!$jwt['active']) {
throw new \UnexpectedValueException('The token does not exist or is not valid anymore');
throw new CustomUserMessageAuthenticationException('The token does not exist or is not valid anymore');
}
if (!isset($jwt['resource_access'][$this->client_id])) {
throw new \UnexpectedValueException('The token does not have the necessary permissions!');
throw new CustomUserMessageAuthenticationException('The token does not have the necessary permissions!');
}
return new KeycloakBearerUser(
@@ -142,4 +143,4 @@ class KeycloakBearerUserProvider implements UserProviderInterface{
{
return $this->loadUserByIdentifier($username);
}
}
}