首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Transloadit和Firebase

Transloadit和Firebase
EN

Stack Overflow用户
提问于 2015-09-18 04:45:18
回答 1查看 167关注 0票数 0

我正在开发一个Angular & Firebase应用程序,我想避免在Firebase之外有任何后端。文档不推荐在Firebase中存储图像,所以我想使用Trasnloadit来保存图像。有没有一种方法可以安全地使用Transloadit直接从我的Angular应用程序或Firebase实例发送图像?

EN

回答 1

Stack Overflow用户

发布于 2021-03-02 23:36:09

虽然这是一个古老的问题,但它仍然值得探索您的问题的可能解决方案。如果您希望使用Transloadit安全地发送数据,您可能需要查看creating a signature。签名认证是双向的--所以你可以用Firebase仔细检查文件的来源是否经过认证,但是你需要确保你在服务器端执行这个操作。幸运的是,Transloadit使得生成签名变得简单:

  1. 您想要创建一个对象来替换程序集

中的params字段

代码语言:javascript
复制
{
  "auth": {
    "key": "23c96d084c744219a2ce156772ec3211",
    "expires": "2021/01/31 16:53:14+00:00",
    // This could also contain your template ID if you're not defining your steps here
  },
  "steps": { ... }
}

JSON下一步,您需要将其转换为,为此,您可以使用JSON.stringify()|

  1. Now,使其成为符合RFC2104的
  2. 十六进制签名-您可以使用诸如CryptoJS

之类的库

代码语言:javascript
复制
signature = CryptoJS.HmacSHA256(message, auth_secret).toString(CryptoJS.enc.HEX);

接下来,为了将文件发送到GCS,您可以使用/google/store自动机。例如,您可以将此代码片段添加到模板中:

代码语言:javascript
复制
"exported": {
  "use": [
    ":original",
    ...
  ],
  "robot": "/google/store",
  "credentials": "YOUR_GOOGLE_CREDENTIALS"
}

此自动机还具有属性acl,用于确定文件所具有的权限。默认情况下,它是public-read,但您有几个选项,包括:authenticated-readbucket-owner-full-controlprivateproject-private

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32639664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档