在JS和JSF中隐藏apiKey

时间:2017-10-05 15:54:41

标签: javascript jsf

我有几段代码,我在其中编写了我的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);
}

所以,如果有人要检查浏览器中的代码,他们就会看到它们。

有没有办法隐藏它们?

2 个答案:

答案 0 :(得分:1)

不,Google API密钥必须放在您的HTML或JS文件中。所以,是的,每个都可以看

但请记住, Google会为特定域生成API密钥。 所以,一个被盗的密钥,不能使用

问题是某些开发人员没有正确地将API密钥附加到他们的域,Google 建议 附加到特定域以防止糟糕的用法。

答案 1 :(得分:0)

Google提供了浏览器密钥和服务器密钥。浏览器密钥可以在浏览器上使用。您的服务器密钥是您不希望暴露的密钥。您可以使用Cloud Functions或AWS Lambda进行服务器端API调用。

相关问题