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

隐藏内容空间id和访问令牌、客户端javascript文件,javascript,contentful,Javascript,Contentful,我对contentful是新手,我正在尝试将contentful中的内容显示到网页上。我使用contentful.js显示内容,我想知道当我在js文件中使用这些信息来显示网页内容时,如何对公众用户隐藏这些信息(空间id和访问令牌值)。下面是我在主Js文件中使用的Javascript代码,用于在html文件中显示内容 var client = contentful.createClient({ accessToken: 'b4c0n73n7fu1', space: 'cfexampleap

我对contentful是新手,我正在尝试将contentful中的内容显示到网页上。我使用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;
    }
  })
})

提前谢谢

您可以使用自己的服务器代理请求,或者类似Aerobatic的express request proxy功能:

有几种不同的方法可以做到这一点。最简单的方法是将空间ID和accessToken移动到环境变量中。看看这篇关于如何使用Javascript实现这一点的中篇文章:

然后在宿主提供商上,您可以将环境变量设置为这些变量,并且您的代码可以利用它们

值得注意的是,您放在Contentful上的所有内容都假定为只读。公开您的内容交付API密钥(示例中的访问密钥)和您的空间ID并不是世界末日,因为共享替代服务的API密钥可能是一种失败。使用您发布的CDA密钥不会让某人编辑您存储在Contentful上的任何数据,而只是为了读取它


但是,您要确保不公开您的CMA密钥(内容管理API密钥),因为这将允许人们以内容的形式编辑和更改您的内容

在客户端javascript中无法隐藏任何内容。如果这是一个问题,您需要在服务器(即节点sdk)上包装这些调用