Je dois développer une API RESTful pour une application mobile et j'ai quelques inquiétudes concernant le flux de la communication entre ces parties. Je suis nouveau dans le développement d'API pour les appareils mobiles et OAuth.API REST + OAuth + flux mobile
Le projet en commun devrait fonctionner de cette façon:
- utilisateurs sont autorisés à se connecter en utilisant uniquement leurs comptes Google
- l'application mobile utilise l'API de site Web et toutes les informations sont stockées sur le backend
J'ai trouvé une question similaire ici OAuth on REST API for mobile app et je préfère la première solution, mais j'ai quelques questions sur la sécurité de cette solution.
1) Dois-je utiliser OAuth2 pour l'API? Je ne suis pas sûr que ce soit une bonne idée de simplement envoyer l'identifiant Google de l'utilisateur à l'API pour obtenir les données de l'utilisateur.
2) Comment puis-je vérifier sur le serveur que l'identifiant Google est correct et réel? Ou ce n'est pas important du tout?
Je pense à ce scénario, mais je ne suis pas sûr que c'est la meilleure solution:
1) L'utilisateur ouvre une session sur l'application mobile pour la première fois à l'aide de son compte Google.
2) L'application mobile reçoit un identifiant Google et quelques informations supplémentaires.
3) L'application mobile envoie l'identifiant Google au serveur.
4) Le serveur utilise OAuth2. Il crée un compte pour l'utilisateur (en enregistrant l'identifiant Google dans la base de données) et renvoie un jeton d'accès à l'application mobile.
5) L'application mobile stocke localement le jeton d'accès et l'utilise pour les requêtes au serveur. Une fois le jeton d'accès expiré, l'utilisateur doit se reconnecter à l'application mobile en utilisant son compte Google.
J'ai quelques inquiétudes concernant l'utilisation de Google ID uniquement pour générer un jeton. Je veux dire, n'importe qui peut simplement utiliser l'identifiant Google de quelqu'un pour créer un jeton. Mauvaise idée :(
dois-je utiliser mieux JWT aussi en signe?
Merci pour votre aide!
Merci! C'est très utile – Elena