Un utilisateur de mon application a signalé aujourd'hui un problème concernant l'autorisation de l'utilisateur avec Google (en utilisant OAuth 2.0). Jusqu'à présent, l'application ouvrait une nouvelle BrowserWindow (l'intégration des nœuds est désactivée, la session est séparée de l'application principale). Vous pouvez voir l'implémentation aquí puisque la bibliothèque est OSS. Je l'utilise pour autoriser l'utilisateur à accéder aux données de l'application sur Google Drive. Aujourd'hui, après m'être connecté, je vois le message suivant :
Ce navigateur ou cette application peuvent ne pas être sécurisés.
Essayez d'utiliser un autre navigateur. Si vous utilisez déjà un navigateur compatible, vous pouvez rafraîchir votre écran et réessayer de vous connecter.
Le lien "En savoir plus" comporte une section destinée aux développeurs. Cette section comporte deux liens. L'un d'eux explique comment mettre à jour l'application en PWA. L'application étant un outil de test d'API, il ne sera pas possible de l'exécuter dans un navigateur web. Le second lien renvoie à un document décrivant comment migrer vers l'autorisation pour les applications natives. Cependant, le flux décrit nécessite l'octroi d'un code d'autorisation. Cela signifie que je dois inclure le secret OAuth dans mon application. L'application Electron, cependant, est toujours une application web et il n'y a pas de notion de compilation des sources. J'exposerais le secret du client au public, ce qui n'est pas sécurisé. Je pourrais éventuellement créer une application serveur pour la prendre en charge, mais l'application est un projet OSS. Elle ne dispose pas des fonds nécessaires à l'exécution d'un serveur d'autorisation.
Ma question est maintenant de savoir comment je dois implémenter OAuth 2 pour l'application Electron. Je ne peux pas utiliser de PWA et le flux d'autorisation du serveur (code grant) est loin d'être idéal dans ce cas.