Je travaille sur l'une de mes premières solutions OAuth, en utilisant une solution Visual Studio préinstallée.
Mon authentification fonctionne bien, et quand un client appelle /token
ils reçoivent un jeton de porteur et tout va bien. Ce jeton est un jeton de "niveau utilisateur", que vous pouvez voir sur chaque requête au serveur. Cela signifie que je peux ajouter [Authorize]
sur les points d'extrémité auxquels seul l'utilisateur doit accéder.
Cependant, je souhaite également que mes applications serveur disposent de "droits d'accès complets". Elles doivent être en mesure d'obtenir des listes de plusieurs utilisateurs, de supprimer des éléments, etc.
Voici mes questions, auxquelles je suppose que l'on peut répondre ensemble très facilement :
- Comment gérer à la fois les jetons de courte durée (jetons au porteur ?) et les jetons permanents (jetons d'API ?)?
- Comment différencier les niveaux d'accès, pour que certaines méthodes nécessitent le jeton permanent ?
- Comment puis-je différencier les niveaux d'accès dans la même méthode (par exemple, les méthodes GET typiques, où un utilisateur ne peut obtenir que "ses articles" alors qu'un jeton d'administration peut obtenir "tous") ?
C'est probablement très simple - et le plus souvent, je ne sais pas quels mots-clés rechercher sur Google !