我想在谷歌云平台的应用程序引擎上推出一个基于Flask的web应用程序,该应用程序能够调用用python编写的云函数。独立做这些事情的参考如下:
https://cloud.google.com/appengine/docs/standard/python3/building-app/writing-web-servicehttps://cloud.google.com/functions/docs/first-python
然而,从app Engine上托管的(python(web应用程序调用云函数似乎没有得到充分的记录。有人能链接到达到这种效果的资源吗?
在这个答案中,我将列出示例文档,以了解谷歌云中的授权以及如何从应用程序引擎调用云函数。阅读这些链接/文档,了解一切是如何运作和连接在一起的。一旦你了解了基本知识,谷歌云中的授权就非常容易实现和安全。
步骤1-了解Google Cloud中的授权
Google Cloud将OAuth用于大多数服务和API。某些服务仍然支持API密钥。阅读本文以获得服务器/服务到服务器/服务授权的基础:
将OAuth 2.0用于服务器到服务器应用程序
要理解的关键点是访问令牌和身份令牌。另一种令牌类型是刷新令牌,主要用于刷新根据用户凭据创建的OAuth令牌。
步骤2-了解用于授权的JWT
本文是为物联网设备编写的,但所有谷歌云服务的细节相同/相似。此链接包括示例代码。
使用JSON Web令牌(JWT(
步骤3-了解云功能授权
云函数使用OAuth身份令牌来授权来自其他服务和用户的请求。OAuth Identity Token是一个已签名的JWT,用于断言调用者的身份。身份令牌由谷歌拥有或管理的私钥签名,并在授予访问所谓的云功能之前由谷歌验证。
身份验证开发人员、功能和最终用户
步骤4-了解如何从应用程序引擎标准调用另一项服务
既然您了解了授权是如何在Google Cloud中执行的,那么您需要了解如何创建用于对您的Cloud Function进行授权调用的令牌。本文讨论了Python中的应用程序标识,以及如何断言标识以调用云函数或应用程序引擎标准中的任何Google API/服务。
应用程序标识Python API概述