Question

Je viens de passer par la description de Application d'exemple de Dredit Google en Java ( code source ).Il montre comment écrire une application de lecteur simple et gère l'autorisation dans le backend.

C'est un bon exemple, mais le plus grand inconvénient que j'ai remarqué est le fait que l'utilisateur est tenu de se connecter à nouveau lorsqu'il souhaite choisir un fichier de son lecteur (malgré déjà autorisé l'application pour le faire).C'est gênant pour que j'aimerais éviter cela.Choisir un fichier est effectué à l'aide de l'API de Picker Google uniquement disponible en JavaScript.

Par conséquent, je voudrais partager les informations d'autorisation entre mon backend et mon frontend - puis-je simplement passer le jeton OAuth que j'ai dans le backend au frontend?Si oui, est-il une façon recommandée de le faire?

Était-ce utile?

La solution

Oui, c'est parfaitement ok.Snooping chez le client comme décrit par @tydotg n'est pas vraiment un problème car le jeton d'accès est tout aussi serré, que ce soit généré sur le client ou sur le serveur.

Le seul véritable défi consiste à vous assurer que vous téléchargez uniquement un jeton à l'utilisateur correctement authentifié.Vous pouvez utiliser un certain nombre de schémas pour le faire, mais par exemple: -

  1. L'utilisateur authentifie à votre application à l'aide de OAuth basé sur le serveur.
  2. Server stocke l'ID utilisateur ou le courrier électronique dans une variable de session
  3. Lorsque votre client demande un jeton, vous utilisez l'utilisateur de la session pour générer un jeton

Autres conseils

Utilisez l'identité croisée pour y parvenir:

https://developers.google.com/accounts/docs/crossclientauth

Je suis sûr que vous pouvez (je ne suis pas trop familier avec Java, mais dans les rails, par exemple, ce serait facile), mais la raison pour laquelle vous ne voudriez pas faire cela est à cause de la sécurité.

Tout ce qui est sur le côté serveur est assez sécurisé et n'est pas accessible au client.Tout ce qui est sur le côté client, cependant, est un jeu juste.Je pouvais inspecter l'élément et si je savais ce que je cherchais, je pouvais attraper le jeton Oauth.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top