我正在使用mapbox API 来显示交互式地图。我制作了一种代理来在客户端外部发出 API 请求,以隐藏我的访问令牌。但是当初始化地图(在客户端)时,我不知道如何隐藏我的访问令牌。
这是我用来初始化地图的代码。它可以正常工作,但如果有人在浏览器中检查我的代码,或者在 GitHub 存储库中看到代码,他们将有权访问令牌。
const accessToken = 'myKey';
mapboxgl.accessToken = accessToken;
const map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v12',
center: [-46.625290, -23.533773],
zoom: 12,
minZoom: 5,
language: 'pt'
});
我已经对访问令牌设置了 URL 限制,但我不知道这是否足以保护它。
欢迎任何解决方案。谢谢!
不,你无法隐藏它。但是,假设您正在谈论您的
pk.ey...
令牌(不是秘密令牌),这是正常的。
理论上,有人可以使用您的令牌访问某些数据,并且您可能需要对使用负责,但实际上这似乎并没有发生。您可以经常轮换您的令牌(为此使用 API)以减少此类滥用的影响。
这是我用来初始化地图的代码。它可以正常工作,但如果有人在浏览器中检查我的代码,或者在 GitHub 存储库中看到代码,他们将有权访问令牌。
他们不需要做这些事情 - 他们只需查看网络选项卡即可。每个网络请求都包含您的令牌。