隐藏内容空间id和访问令牌,客户端javascript文件

问题描述 投票:2回答:2

我是新的内容,我正在尝试将内容从内容显示到网页。我正在使用contentful.js显示内容,我想知道当我在js文件中使用它来显示网页中的内容时,如何从公共用户隐藏这些信息(空间ID和访问令牌值)。下面是我在主Js文件中使用的Javascript代码,用于在html文件中显示内容。

var client = contentful.createClient({
  accessToken: 'b4c0n73n7fu1',
  space: 'cfexampleapi'
});

client.entries()
.then(function (entries) {
  // log the file url of any linked assets on image field name
  entries.forEach(function (entry) {
    if(entry.fields.SampleContent) {
      document.getElementById('sample_content_block').innerHTML = entry.fields.SampleContent;
    }
  })
})

提前致谢!

javascript contentful
2个回答
2
投票

有几种不同的方法可以做到这一点。最简单的方法是将您的空间ID和accessToken移动到环境变量中。看看这篇关于如何使用Javascript:https://medium.com/ibm-watson-data-lab/environment-variables-or-keeping-your-secrets-secret-in-a-node-js-app-99019dfff716的媒体文章。

然后在您的托管服务提供商上,您可以将环境变量设置为这些变量,您的代码就可以使用它们。

需要注意的一点是,您放在Contentful上的所有内容都被认为是只读的。公开您的Content Delivery API密钥(您的示例中的访问密钥)和您的空间ID不是以共享替代服务的API密钥的方式结束世界的。使用您发布的CDA密钥不会允许某人编辑您在Contentful上存储的任何数据,只是为了阅读它。

但是,您希望确保不公开CMA密钥(内容管理API密钥),因为这样可以让人们在Contentful中编辑和更改您的内容。


0
投票

您可以使用自己的服务器代理请求,或者像Aerobatic的快速请求代理功能:https://www.aerobatic.com/docs/http-proxy

© www.soinside.com 2019 - 2024. All rights reserved.