我有一个受身份感知代理(IAP)保护的角度应用程序。我正在尝试将 Firebase 添加到此应用程序,以便将 firestore 用于使用 AngularFire 的组件。我不想让用户登录两次,所以我考虑使用 IAP 与 Firebase 进行身份验证。
我试过了:
让 GCP 发挥其魔力,看看用户是否自动插入 Firebase Auth 模块 - 但事实并非如此。
我尝试在 cookie 中使用从 IAP 获得的令牌,方法GCP_IAAP_AUTH_TOKEN是signInWithCustomToken- 不起作用,令牌无效。
我尝试过getRedirectResult在通过 IAP 登录后使用它是否已注入那里 - 但事实并非如此。
我花了几天时间试图让它发挥作用,我也让一位同事看过它,但这似乎不可能。现在,作为最后的手段,我在这里写信看看是否有人知道这是否可能。
如果没有,我将不得不建议团队切换身份验证方法并摆脱 IAP,但我宁愿保留它。
更多信息:
环境: App Engine Flex 上的 NodeJS 10
角度版本: 7.xx
AngularFire 版本: 5.2.3
注意:我没有后端,因为我想独立使用这个组件,如果需要的话最多可以与几个云功能一起使用。我正在尝试使用 Firestore 作为“后端”。
google-app-engine firebase google-cloud-platform angularfire2 google-iap
我试图列出存储桶中的所有对象,然后将其中一些或全部读取为CSV。我现在已经花了两天时间,试图同时做两件事,但是如果我使用Google的库,一次只能工作一遍。
我认为问题出在Google自己的库之间不兼容,但是我不确定。首先,我认为我应该展示我如何做每件事。
这就是我读取单个文件的方式。在我的Scala版本中,您可以使用带有以下内容的gs://网址spark.read.csv:
val jsonKeyFile = "my-local-keyfile.json"
ss.sparkContext.hadoopConfiguration.set("google.cloud.auth.service.account.json.keyfile", jsonKeyFile)
spark.read
.option("header", "true")
.option("sep", ",")
.option("inferSchema", "false")
.option("mode", "FAILFAST")
.csv(gcsFile)
Run Code Online (Sandbox Code Playgroud)
这实际上是单独工作的,而我从中得到了有效的DF。然后,当我尝试添加Google的存储库时,就会出现问题:
libraryDependencies += "com.google.cloud" % "google-cloud-storage" % "1.70.0"
Run Code Online (Sandbox Code Playgroud)
如果我尝试再次运行相同的代码,则会从.csv调用中得到这个坏男孩:
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
19/05/14 16:38:00 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
An exception or error caused a run to abort: Class com.google.common.base.Suppliers$SupplierOfInstance does not implement the requested interface java.util.function.Supplier
java.lang.IncompatibleClassChangeError: Class com.google.common.base.Suppliers$SupplierOfInstance does not implement the …Run Code Online (Sandbox Code Playgroud) 我有一个用户集合,其中包含一堆用户及其详细信息。我还有一个通知集合,用户可以查询。我预计通知的数量至少会达到数千,但多年来可能会达到数万。
我希望用户能够将通知标记为“已看到”。我该怎么办?
我考虑了以下选项:
notificationsSeen向每个用户文档添加一个包含对通知文档的引用的数组。如果用户看到例如 50k 通知,我很害怕在这里达到大小限制。seenBy向每个通知文档添加一个包含对用户文档的引用的数组。虽然这将允许用户查看其他用户看到的通知,但我认为我不想要这个。希望你能帮助我,我没有想法,我不知道如何实现我迄今为止最好的想法(用户中的子集合),这里也提到了一个解决方案:Firestore storage size limit如何存储大型数组(但没有实现细节)。