小编Bob*_*Bob的帖子

一次推送两条路由时不会调用 RouteAware didPushNext

当同时将两个路由推送到导航器并使用 RouteAware 获取有关当前状态的更新时,不会调用第一个路由的 didPopNext()。

看起来,在我订阅 RouteObserver 的地方调用 FirstWiget 的 didChangeDependency() 之前,两条路由都会调用 RouteObserver.didPush() (将调用 didPushNext)。

这是我所期望和得到的,当一个接一个地推送路线并等待小部件出现时:

I/flutter (30927): Navigator.push(FirstWidget)
I/flutter (30927): didChangeDependencies FirstWidget
I/flutter (30927): didPush FirstWidget
I/flutter (30927): build FirstWidget
I/flutter (30927): Navigator.push(SecondWidget)
I/flutter (30927): didPushNext FirstWidget
I/flutter (30927): didChangeDependencies SecondWidget
I/flutter (30927): didPush SecondWidget
I/flutter (30927): build SecondWidget
I/flutter (30927): didChangeDependencies FirstWidget
I/flutter (30927): didChangeDependencies FirstWidget
I/flutter (30927): build FirstWidget
Run Code Online (Sandbox Code Playgroud)

同时推动两者时:

I/flutter (30927): Navigator.push(FirstWidget)
I/flutter (30927): Navigator.push(SecondWidget)
I/flutter (30927): didChangeDependencies FirstWidget
I/flutter (30927): didPush FirstWidget
I/flutter (30927): build FirstWidget …
Run Code Online (Sandbox Code Playgroud)

navigator flutter

6
推荐指数
1
解决办法
3458
查看次数

如何将参数传递给flutterintegration_test?

flutter_driver之前用于集成测试,并且能够通过主机中的环境变量将参数插入到测试中,因为测试是从主机运行的。

对于另一个项目,我现在使用integration_test包。

测试不再在主机上运行,​​而是在目标上运行,因此当尝试通过环境变量传递参数时,测试不会获取它们。

我看到https://github.com/flutter/flutter/issues/76852我认为这可能有所帮助,但现在还有其他选择吗?

e2e-testing flutter flutter-integration-test

6
推荐指数
1
解决办法
1993
查看次数

用于 Firebase 身份验证的 Firebase AppCheck

Firebase Auth 提供 REST API 来创建/删除/编辑身份验证用户。由于 API 密钥不是私有的,任何人都可以使用该 API。

例如创建新用户的端点是公开可用的,并且据我所知不能不被禁用。

在我看来,这是一个糟糕的情况,因为例如攻击者可以通过此端点创建大量用户,而这些用户对于我们的系统来说不是有效用户。攻击者可能会阻止客户的有效电子邮件地址,从而无法创建有效帐户。

如果攻击者知道用户 ID,他甚至可以删除身份验证用户。

我们添加了用户声明(只能通过管理 API 设置,不能通过公共 API 设置),以确保只有我们创建的用户才可以访问我们的系统,但这意味着我们需要付出很大的努力来定期删除用户通过我们的系统创建。

是否计划通过AppCheck来保护 FirebaseAuth ,以仅允许经过验证的应用程序访问 auth api?

firebase firebase-authentication firebase-app-check

6
推荐指数
1
解决办法
1036
查看次数