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 :
ou
参考自[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