解决方法:Firebase中缺少通配符身份验证选项?

时间:2019-10-19 08:57:07

标签: firebase google-app-engine google-cloud-build

我们正在使用Google Cloud Build将特定于请求请求的应用程序版本部署到GAE,以便我们可以与利益相关者共享开发版本,然后再将其发布。在GAE上,网址看起来像@pandas_udf("int", PandasUDFType.SCALAR) def udf_with_cond(*cols): result = cols[0] for c in cols[1:]: result *= c if((result < 100).any()): return result else: raise Exception('Error') df = df.withColumn('res', udf_with_cond('A', 'B')) http://[VERSION_ID]-dot-[YOUR_PROJECT_ID].appspot.com

我们希望允许利益相关者预览并运行E2E测试(包括Firebase登录),但是由于本质上是通配符子域,因此我们必须在Firebase控制面板中的“授权”下手动将每个子域列入白名单。域”。不幸的是,Firebase不允许将通配符样式列入白名单(例如* -dot-projectname.appspot.com)。

我们已经与Google取得联系,但他们确认白名单只能手动完成。

1 个答案:

答案 0 :(得分:1)

一种可能性是使用单独的分阶段项目进行PR测试。

您将对http://[YOUR_STAGING_PROJECT_ID].appspot.comhttps://staging_projectname.appspot.com使用白名单。然后,您可以通过流量迁移来管理从特定PR到暂存项目的映射,这可以通过您的PR自动化脚本programmatically完成。

缺点是您一次只能验证一个PR。但这并不一定都是坏事:序列化PR验证消除了由于conflicting changes that each pass in isolation而造成损坏的风险。

使用单独的项目进行测试可能也会带来好处,请参见Advantages of implementing CI/CD environments at GAE project/app level vs service/module level?