我正在构建一个全栈MERN(MongoDB Express React Nodejs)应用程序。我正在使用NPM包Google Maps React在我的网站上显示Google地图。我很难想出一个策略来保护我的前端google maps API密钥。
为了充分理解我的问题,查看下面的Google Maps React组件代码可能会有帮助
import {Map, GoogleApiWrapper} from 'google-maps-react';
export class MapContainer extends Component {
render() {
return (
<Map google={this.props.google} >
</Map>
);
}
}
export default GoogleApiWrapper({
apiKey: (YOUR_GOOGLE_API_KEY_GOES_HERE)
})(MapContainer)
可能的解决办法
解决方案A
解决方案B
gapi_key=fill_in_your_key_here
对解决方案A的关注
与解决方案B有关的问题
.gitignore
文件的一部分,因此部署应用程序时,google maps API密钥将不可用谢谢你的想法和时间。
PS我使用了create-react-app
您有各种选项来安全地存储api密钥。如果您正在使用circoleci进行连续构建,则可以创建一个环境键。检查构建解决方案是否有类似的内容。
还有一些加密文件的替代方法,如git-secret。这样就可以使用环境配置文件。
底线不要将密钥存储在代码或配置文件中,除非您对其进行加密。