【électron】Ce navigateur ou cette application n'est peut-être pas sécurisé“ erreur lors de la tentative de connexion avec Google sur le bureau

signaler une erreur

"Browser or app may not be secure. Try using a different browser." error with Flutter Firebase Google Login
ou
This browser or app may not be secure“ error when trying to sign in with Google on desktop

arrière-plan

La sous-application micro-app micro-front construite sur electron réalise la fonction google auth 2. Notre architecture est electron+micro-app (projet de bureau) et react spa (projet de sous-application).
En raison de la limitation spa de google auth2, nous ne pouvons pas appeler directement l'interface d'authentification auth2 dans la sous-application, car elle est bloquée par la sécurité google. Nous avons donc créé un nouveau formulaire sur le bureau électronique, puis créé une vue Web dans ce formulaire pour créer un environnement de navigateur et le fournir à la page d'authentification du spa pour exécution. Cela nécessite l'enregistrement de l'application et la configuration sur l'écran de consentement unifié.

Description du problème

Sur la page de connexion au consentement du spa exécutée dans la vue Web, lors de la redirection de l'interface de connexion où Google obtient le code d'autorisation, la connexion est restreinte.

analyse du problème

Après avoir consulté les informations pertinentes, Google limitera la sécurité avant mai 2020 et les applications de spa enregistrées ne pourront pas se connecter. L'indice est que le navigateur n'est pas sûr, car notre électron se trouve dans l'environnement du nœud et qu'il a la capacité de modifier la couche sous-jacente.

参考自[1] : https://support.google.com/accounts/answer/6010255
参考自[2] : https://stackoverflow.com/questions/59480956/browser-or-app-may-not-be -secure-try-using-a-different-browser-error-with-fl

Solution

En modifiant l'attribut useAgent de webview, injectez-le dans l'environnement de l'agent utilisateur de webview et modifiez le noyau. Comme indiqué dans le code suivant :

<webview
                    src={webviewUrl}
                    style={
   
   { flex: 1 }}
                    // useragent={userAgent}
                    useragent={'Chrome'}
                    preload={preloadJs}
                    webpreferences="enableRemoteModule=true,nodeIntegration=true,nativeWindowOpen=yes,contextIsolation=false"
                />

Après succès, l'interface changera, comme indiqué dans la figure ci-dessous :
insérez la description de l'image ici
ou
insérez la description de l'image ici

参考自[1] : https://support.google.com/accounts/thread/22873505?msgid=24503570
参考自[2] : https://support.google.com/accounts/thread/22873505/this-browser -or-app-may-not-be-secure-error-when-trying-to-sign-in-with-google-on-desktop-apps?hl=fr

Je suppose que tu aimes

Origine blog.csdn.net/hzxOnlineOk/article/details/131412882
conseillé
Classement