我是满足的新手,我正在尝试将内容从内容显示到网页。我正在使用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;
}
})
})
提前致谢!
答案 0 :(得分: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密钥(Content Management API密钥),因为那样会使人们在Contentful中编辑和更改您的内容。
答案 1 :(得分:0)
您可以使用自己的服务器来代理请求,或者像Aerobatic的快速请求代理功能:https://www.aerobatic.com/docs/http-proxy