0

J'ai une application java basée sur spring + maven ayant un service web de repos. Pour chaque appel à ce service web de repos, je souhaite que mon application télécharge un fichier sur mon compte google drive. J'ai trouvé this.Authentification pour télécharger des fichiers sur mon disque à l'aide de la bibliothèque cliente de l'API du lecteur Google pour Java

Comment puis-je authentifier un compte avant de le télécharger dans mon application? Ai-je besoin de Google OAuth2.0 for web application server application? ou la méthode d'authentification dans quick start guide for java fera pour mon application? Je suis nouveau à OAuth.

Existe-t-il un guide complet sur l'authentification google drive et l'utilisation d'API de lecteur?

Quelle est la différence entre google Oauth2.0 pour l'application installée et google Oauth2.0 pour le serveur d'applications Web? Quand devrais-je utiliser chacun?

Répondre

1

Si vous avez utilisé la méthode d'authentification dans Quickstart, cela vous permettra d'avoir une requête authentifiée pour télécharger des fichiers.

Pour donner une petite description de la méthode Application Server et l'authentification dans les quickstarts:

Server Application Authentication sont la plupart du temps associé à service accounts pour autoriser les demandes de l'API, en particulier lors de l'appel API Cloud pour accéder à des données basées sur des projets plutôt que l'utilisateur données spécifiques. Les applications de serveur Web peuvent utiliser des comptes de service conjointement avec l'autorisation de l'utilisateur.

Ce flux OAuth 2.0 est spécifiquement destiné à l'utilisateur. Il est conçu pour les applications qui peuvent stocker des informations confidentielles et maintenir l'état. Une application de serveur Web correctement autorisée peut accéder à une API pendant que l'utilisateur interagit avec l'application ou après que l'utilisateur a quitté l'application.

OAuth 2.0 for Installed App

Alors que certains OAuth 2.0 Authentification comme Javascript (côté client) est appelé le flux de subvention implicite . Il est conçu pour les applications qui n'accèdent aux API que lorsque l'utilisateur est présent dans l'application. Ces applications ne sont pas en mesure de stocker des informations confidentielles.

Dans ce flux, votre application ouvre une URL Google qui utilise des paramètres de requête pour identifier votre application et le type d'accès API requis par l'application. Vous pouvez ouvrir l'URL dans la fenêtre du navigateur en cours ou dans un popup. L'utilisateur peut s'authentifier auprès de Google et accorder les autorisations demandées. Google redirige ensuite l'utilisateur vers votre application. La redirection inclut un jeton d'accès, que votre application vérifie et utilise ensuite pour effectuer des demandes d'API.

Espérons que cela aide.

+0

Cela signifie-t-il que OAuth 2.0 pour l'application installée nécessite une action de l'utilisateur? Si j'ai un compte google drive, et que j'utilise mon application avec client_secret.json comme suggéré dans le tutoriel, ai-je encore besoin d'une action utilisateur pour m'authentifier et accorder les permissions demandées? Mon application sera exécutée sur le serveur, et son point de terminaison de service Web sera déclenché sur un événement, endpoint traitera cette demande déclenchée et télécharger un fichier sur le compte du lecteur. L'application ne fait rien d'autre en dehors de cela. Nous ne voulons pas y parvenir en impliquant des actions de l'utilisateur. Un seul compte de lecteur d'utilisateur devrait être requis. – rsnhah

+0

J'ai une application sans tête et j'ai utilisé OAuth2.0 pour le compte de service car il ne nécessite pas le consentement de l'utilisateur. https://developers.google.com/identity/protocols/OAuth2ServiceAccount – rsnhah