当前位置: 首页 > 知识库问答 >
问题:

如何在云函数存储触发器中获取经过身份验证的Firebase用户的uid

艾俊悟
2023-03-14

背景:我正在使用Firebase云功能、新的Firestore数据库和带有Android客户端的存储桶。

我想完成的内容:当用户将图片上传到存储桶时,我想使用云函数获取文件路径/链接到存储桶中的图像位置,并将这个字符串作为新文档存储在FireStore中当前登录用户文档下名为“Pictures”的新集合下。

/**
 * When a user selects a profile picture on their device during onboarding,
 * the image is sent to Firebase Storage from a function running on their device. 
 * The cloud function below returns the file path of the newly uploaded image. 
 */
exports.getImageStorageLocationWhenUploaded = functions.storage.object().onFinalize((object) => {
  const filePath = object.name; // File path in the bucket.
  const contentType = object.contentType; // File content type.

  // Exit if this is triggered on a file that is not an image.
  if (!contentType.startsWith('image/')) {
    console.log('This is not an image.');
    return null;
  }
console.log(filePath);
});

问题:如何获取当前登录的用户,并使用云功能将此用户上传的图像文件路径/链接作为新文档存储在Firestore数据库内的此登录用户文档下?

共有1个答案

李跃
2023-03-14

目前,使用云存储触发器,您无法访问经过身份验证的用户信息。要解决这一问题,您必须将uid嵌入到文件的路径中,或者将uid作为元数据添加到文件上传中。

 类似资料:
  • 我的Android应用程序中有Firebase身份验证。我的问题是如何在经过身份验证的用户(出现在Firebase控制台的选项卡)和数据库(选项卡)之间建立链接。 我需要通过中出现的将数据库中的数据与中的相关用户链接,并最终发送有关特定的查询,以获取

  • 问题内容: 你可以在模板方面知道当前用户是否已通过身份验证: 但是我没有找到获取经过身份验证的用户列表的方法。 问题答案: 与rz的答案一起,你可以查询未到期的会话模型,然后将会话数据转换为用户。一旦知道了,就可以将其转换为模板标记,该标记可以在任何给定页面上呈现列表。 (这都是未经测试的,但希望将接近工作)。 提取所有已登录的用户… 使用此功能,你可以制作一个简单的包含模板标签… 然后,你可以在

  • 在我的REST应用程序中,我使用了基本身份验证(发送用户密码并在每次请求时登录)。对于某些需要,我使用以下方法获得登录用户: 但是后来我实现了Spring-Security-Oaut2,我使用访问令牌代替密码和登录。现在. getMain()方法返回“匿名用户”。所以我的问题:有没有办法像上面在sping-security-oauth中那样以某种方式获取登录用户? 编辑:我发现我的安全性“拦截ur

  • 我的代码在这里:代码重新发布是因为我想问一个更直接的问题。如何在未经身份验证的用户和经过身份验证的用户之间切换?我的未经验证的文件似乎已缓存,我使用了以下方法: 在我剩下的api代码之前,它仍然不能工作。谢谢你的帮助 注意:我知道它不起作用,因为我在切换配置/凭据提供程序后立即使用lambda进行调用,并且只有授权用户才能调用此方法。 编辑@behrooziAWS答案: API代码: 完整错误:B

  • 正在创建一个Firebase银行Android应用程序,用户可以在其中验证和创建帐户。它有一个Firebase回收视图,在我的一个孩子片段中以线性布局显示银行交易列表。请问有什么方法可以允许新通过身份验证的用户自动创建Firebase数据库和存储,以便每当用户(CRUD)创建、读取、更新和删除项目时,它将仅从该用户的Firebase数据库回收列表中删除,然后列表将自动刷新对于那个特定的用户

  • 我正在研究使用JWT身份验证的Spring Security实现。我不确定如何检查用户角色并在方法级别获得经过身份验证的用户。我在网上看到这个例子: 我需要从JWT令牌中提取用户类型吗?还有其他方法可以实现吗?在我看来,仅使用是不完整的。 看起来这段代码是用来获得用户如果使用会话类型,我得到NPE。你知道对于JWT我如何才能成为用户吗? Github完整来源:https://Github.com/