Citation:
Du coup je suis déja perdu sur ce point la, j'ai un peu plus compris le fonctionnement du JWT que de Oauth, peut on en utiliser un indépendamment de l'autre mais surtout qu'est ce qu'y est recommandé ?
Ce sont deux moyen d'authentifier l'utilisateur. Tu utilises soit l'un soit l'autre.
J'ai une préférence pour jwt qui est plus simple à implémenter tant coté serveur que client.
Citation:
Ces deux clés je n'ai pas bien compris comment je dois les générer ? Et est ce que c'est Oauth ou JWT qui s'occupe de ça ?
Pour la clé API ca va dépendre de ta politique. Soit tu créer une clé API par "client". Par exemple une clé pour l'appli android et une pour l'appli IOS. Tu peux donc les générer manuellement et les stocker (bdd, fichier , etc ..)
Soit tu créer un clé api par compte utilisateur , auquel cas il faudra la générer automatiquement.
Peut importe le format , une chaine aléatore de X caractère peut convenir. JWT ou Oauth ne rentre pas en jeu ici
Pour la clé secrète c'est la même chose , même si je préconise plutôt une clé par compte utilisateur.
Citation:
Autre point, la gestion des roles des utilisateurs j'ai du mal à voir comment sur une requête je peux vérifier le rôle de l'utilisateur pour bloquer des ressources qui ne lui seraient pas accessible ?
Avec JWT tu peux tout à fait stocker les droits de l'utilisateur dans le token et les vérifier au moment o utu recois le token avec chaque requête. L'utilisateur ne pourras pas les modifier sans rendre le token invalide.
L'autre solution c'est à chaque requête récupérer l'utilisateur ayant fait la requête via login/mdp ou token , etc et d'interroger la base de données pour connaitre les droits de cet utilisateur.
Citation:
cela peut il posé un problème avec l'utilisation de Jwt ou Oauth ?
Non si ce n'est que le endpoint servant à créer le compte doit être ouvert car le compte n'aura pas encore de clés attribuer au moment de la création.