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

在Node.js中创建Firebase存储访问令牌[重复]

贝礼骞
2023-03-14

基本上,我有两种方式将文件上传到firebase存储:

    null

我有一个onFinalize触发器,每次在firebase存储中存储新对象时都会调用该触发器。
在此触发器中,我希望为添加的特定对象创建一个firestore文档。
为了获取文件信息,我使用probe-image-size。
问题是我需要该文件的下载链接,而据我所知,如果没有storageAccessToken,我无法下载该文件。

基本上,问题是:我可以在onFinalize触发器中添加storageAccessToken,还是可以在通过前端用signedurl上传文件时添加storageAccessToken?

共有1个答案

赵永逸
2023-03-14

如果我正确地理解了您的问题,那么您希望在云函数(“onfinalizetrigger”)中创建一个Firestore文档,其中除其他信息(来自probe-image-size)外,还包含一个签名URL。

您可以通过云函数获得签名的URL,如下所示,而不需要StorageAccesStoken:

exports.generateSignedURL = functions.storage.object().onFinalize(async object => {

    try {
        const bucket = admin.storage().bucket(object.bucket);
        const file = bucket.file(object.name);

        const signedURLconfig = { action: 'read', expires: '08-12-2025' };  // For example...

        const signedURLArray = await file.getSignedUrl(signedURLconfig);
        const url = signedURLArray[0];

        await admin.firestore().collection('signedURLs').add({ fileName: object.name, signedURL: url })
        return null;
    } catch (error) {
        console.log(error);
        return null;
    }

});
 类似资料:
  • 问题内容: 我遇到一种情况,我想自己创建一个访问令牌(因此不能通过通常的过程)。我想出了这样的东西: 唯一的问题是我不确定如何创建OAuth2Authentication(在我的代码中带有xxx的部分)。我有用户和客户信息,我知道我想授予该令牌的单位。 问题答案: 在这里,根据使用的流程,您的用例可能会略有不同。这适用于密码授予流程。有一些自定义类,如令牌存储,令牌增强器等。但这实际上只是为满足我

  • 我遵循以下文件:https://account-d.docusign.com/oauth/token 我正在为回调API尝试以下操作: 等 上面是url调用的回调函数,看起来像这样:https://account-d.docusign.com/oauth/auth?response_type=code 然而,我得到了“坏请求”,请求。查询代码是正确的,我不确定组合。 我错过了什么?

  • 在我的web应用程序中,我使用Firebase进行身份验证,要访问任何API,我必须从Firebase进行身份验证。 问题:如何在Postman中获取firebase的访问令牌? 我有两种解决此问题的方法: 1) 在postman中从firebase获取访问令牌,并将该访问令牌存储在postman global env中。变量,然后我可以执行其他API请求。(这里我不知道如何在邮递员那里获得访问令

  • 我在试图理解令牌在Firebase存储中是如何工作的。 每当我的web应用程序将图像上传到FS,它就会在其公共URL中添加一个令牌。问题是,每当您将同一图像文件上传到web应用程序的另一个部分时,您似乎没有得到另一个文件,而是得到了已经上传的文件url的不同令牌,从而为以前注册的图像显示呈现403错误。 有办法解决这个吗? 如果用户重复这个过程,并在应用程序的另一个部分上传相同的picture.j

  • 用户必须在浏览器和应用程序之间手动复制粘贴“授权码”,这在Android中不是一种实用的获取访问令牌的方法。 为了找到一种新的方法,我使用Android API中的来获取访问令牌,同时使用Java API中的和来获取文件列表,如下所示, 不幸的是,当调用中的时,应用程序总是由于NetworkOnMainThreadException而崩溃。 所以我的问题是,如何通过使用访问令牌而不是在中应用授权代

  • 简而言之,一个人如何以给定的Firebase用户/UID的身份从Node.js访问Firebase存储?