Gestion des droit d'accès à l'api - kresers/3W_Awards GitHub Wiki

Introduction

Dans ce wiki j'explique comment restreindre la lecture de certaine donné à certaine personne lors de l'apl d'une méthode de l'api! Car oui ! Moi Valentin REGNIER je n'ai pas le droit d'allé modifié les informations personnel de monsieur maxime Bordas ou même de lire certaine données concernant son profil

Comment faire pour restreindre l'api à l'utilisateur courant ?

C'est très simple, j'ai crée un service dans le dossier back/src/BackBundle/Providers/TokenAuthorization

Vous pouvez y faire un tour pour connaitre les différentes restrictions possibles. Vous pouvez créer la votre en vous inspirant des miennes !

Utilisation

  1. On récupère le token

$credential = $this->get('lexik_jwt_authentication.security.guard.jwt_token_authenticator')->getCredentials($request);

  1. On passe le token récupéré dans l'une des méthodes du service

$this->get('back.providers.token_authorization')->RestrictForCurrentUser($credential,$username); // restrict api for current User

(Dans notre cas on restreint l'api à l'utilisateur courant

  1. Le tour est joué !

Le service s'occupe de retourner une erreur 403 (forbidden). Vous avez juste à l'appeler avec les bons paramètres