繁体   English   中英

从 Google App Engine 上的 web 应用程序调用 Google Cloud function?

[英]Calling a Google Cloud function from a web app on Google App Engine?

我想在 Google Cloud Platform 的 App Engine 上启动一个基于 Flask 的 web 应用程序,它能够调用 Cloud Function,用 python 编写。 下面参考独立做这些事情:

https://cloud.google.com/appengine/docs/standard/python3/building-app/writing-web-service https://cloud.google.com/functions/docs/first-python

但是,从托管在 App Engine 上的 (python) web 应用程序调用云 function 似乎记录不足。 任何人都可以链接已实现此效果的资源吗?

在这个答案中,我将列出示例文档以了解 Google Cloud 中的授权以及如何从 App Engine 调用 Cloud Functions。 阅读这些链接/文档,了解一切如何运作并相互连接。 一旦您了解了基础知识,Google Cloud 中的授权就非常容易实施和保护。

第 1 步 - 了解 Google Cloud 中的授权

Google Cloud 将 OAuth 用于大多数服务和 API。 一些服务仍然支持 API 密钥。 阅读这篇文章以获得服务器/服务到服务器/服务授权的基础:

将 OAuth 2.0 用于服务器到服务器应用程序

要理解的关键点是访问令牌和身份令牌。 另一种令牌类型是刷新令牌,主要用于刷新从用户凭据创建的 OAuth 令牌。

第 2 步 - 了解用于授权的 JWT

本文是为 IoT 设备编写的,但所有 Google Cloud 服务的详细信息都相同/相似。 此链接包含示例代码。

使用 JSON Web 令牌 (JWT)

第 3 步 - 了解云功能授权

Cloud Functions 使用 OAuth 身份令牌来授权来自其他服务和用户的请求。 OAuth 身份令牌是一个签名的 JWT,它断言调用者的身份。 身份令牌由 Google 拥有或管理的私钥签名,并在授予对调用的 Cloud Function 的访问权限之前由 Google 验证。

对开发人员、功能和最终用户进行身份验证

第 4 步 - 了解如何从 App Engine Standard 调用其他服务

现在您了解了如何在 GCP 中执行授权,您需要了解如何创建用于授权调用 Cloud Function 的令牌。 本文讨论 Python 中的 App Identity 以及如何声明身份以调用 Cloud Functions 或来自 App Engine Standard 的任何 Google API/服务。

应用程序身份 Python API 概述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM