【问题标题】:Authorization Header GCP Cloud Function授权头 GCP 云函数
【发布时间】:2019-11-25 15:54:03
【问题描述】:

我正在设置一个只能由特定服务帐户调用的云功能,我已将此服务帐户作为 Invoker 添加到我的云功能中,但是在从以下位置调用云功能时如何使用此服务帐户一个反应应用程序?我已将授权标头添加到我的 Axios 调用中并获取要发送给它的令牌,我正在使用此代码 https://github.com/salrashid123/google_id_token/blob/master/nodejs/GoogleIDToken.js 并将其发送到授权标头中。

【问题讨论】:

  • 发布您的代码。包括错误消息。解释你遇到的问题。阅读此链接:stackoverflow.com/help/how-to-ask 在寻求此类问题的帮助时,请同时显示您发送的 HTTP 请求标头。

标签: google-cloud-platform axios google-cloud-functions authorization


【解决方案1】:

服务帐户旨在识别“没有人工请求者”,我的意思是机器对机器。服务帐户密钥文件包含秘密,每个秘密都必须保密。 您不能在公共应用中使用此秘密,否则您的秘密不再是秘密!

对于您的 ReactApp,您有一个人工登录的应用程序。他有自己的秘密(例如登录密码)。因此是他自己的 JWT 令牌。因此,有两种解决方案:

  • 您的用户有一个 Google 帐户(gmail、gsuite、云身份等),您可以直接将他添加为 Cloud Function Invoker
  • 或者,您必须通过后端。您的 React 应用程序使用用户身份调用后端,您在后端执行自己的安全检查。此后端使用服务帐户调用 Cloud Function 并将答案转发给 React 应用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多