我有几个代码片段,其中我编写了Google的api密钥或clientId,例如:
<ffu:ffuAttachDocumentFromDriveBS
apikey="MY_API_KEY"
clientId="MY_CLIENT_ID"
fileId="#{documentManagerBean.fileId}"
downloadMethod="#{documentManagerBean.downloadFileAndUploadToBeeblos()}"
render="attachment_message, #{id_mpAttachment}_doc"/>
或
_doAuth: function(immediate, callback) {
gapi.auth.authorize({
client_id: MY_CLIENT_ID,
scope: 'https://www.googleapis.com/auth/drive',
immediate: immediate
}, callback);
}
因此,如果有人要在浏览器中检查代码,他们会看到它们。
有什么办法可以隐藏它们吗?
不可以,Google API 密钥必须放在您的 HTML 或 JS 文件中。所以,是的,每个人都可以看。
但请记住,谷歌会为特定域名生成API密钥。所以,被盗的钥匙,不能使用。
问题是一些开发人员没有将API密钥正确附加到他们的域,Google建议附加到特定域以防止不良使用。
Google提供了浏览器密钥和服务器密钥。浏览器密钥可以在浏览器上使用。您的服务器密钥是您不希望公开的密钥。您可以使用 Cloud Functions 或 AWS Lambda 进行服务器端 API 调用。