"Browser or app may not be secure. Try using a different browser." error with Flutter Firebase Google Login
或者
This browser or app may not be secure“ error when trying to sign in with Google on desktop
在electron上搭建的micro-app微前端子应用实现google auth2功能,我们的架构是electron+micro-app(桌面项目)和react spa(子应用项目)。
由于google auth2的spa限制,我们无法做到auth2认证的接口直接在子应用中调用,因为被google安全拦截了。于是我们在electron桌面端创建了一个新窗体,再在这个窗体内创建一个webview创造出浏览器环境,提供给spa认证页面执行,这需要注册应用并在统一同意屏幕那边做配置。
在webview中运行的spa同意登录页面中,在重定向google获取授权码code的登录界面时,被限制登录了。
经过查阅相关资料google在2020年5月之前就对安全做限制,注册的spa应用会被限制登录。提示为浏览器不安全,因为我们的electron处于node环境中,确实是拥有修改底层的能力的。
参考自[1]:
参考自[2]:
通过修改webview的useAgent属性,注入到webview的用户代理环境中,修改内核。如下代码所示:
<webviewsrc={webviewUrl}style={{ flex: 1 }}// useragent={userAgent}useragent={'Chrome'}preload={preloadJs}webpreferences="enableRemoteModule=true,nodeIntegration=true,nativeWindowOpen=yes,contextIsolation=false"/>
成功后的界面会有所变化,如下图所示:
或者
参考自[1]:=24503570
参考自[2]:=en
本文发布于:2024-02-08 19:58:56,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170739372068599.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |