IAP签名标头和AppEngine标准Python 3.7运行时

时间:2018-09-06 14:04:29

标签: google-app-engine google-app-engine-python google-iap

是否有必要在AppEngine Standard Python 3.7运行时中从IAP验证签名的标头?

IAP文档中没有提及Python 3.7运行时的细节。

IAP documentation说:

  • AppEngine Standard应该使用Users API
  • 需要验证才能确保AppEngine Flex中的应用程序安全

Users API对Standard 3.7不可用。签名头是。可以验证标题。

我可以看到AppEngine环境添加了一些标题。我想知道X-Appengine-值是否可以隐式信任(即AppEngine在验证来自IAP的标头之后是否附加这些值)?

X-Appengine-User-Id: <user id>
X-Appengine-Auth-Domain: <domain>
X-Appengine-User-Email: <user email>
...
X-Goog-Iap-Jwt-Assertion: <assertion>
X-Goog-Authenticated-User-Email: accounts.google.com:<user email> 
X-Goog-Authenticated-User-Id: accounts.google.com:<user id>

1 个答案:

答案 0 :(得分:1)

来自App Engine-specific headers

  

对于在中指定的login:adminlogin:required处理程序   app.yaml,App Engine还提供了以下标头集:

     
      
  • X-AppEngine-User-Email,带有示例标题:“ ange@example.com”
  •   
  • X-AppEngine-Auth-Domain,带有示例标题:“ example.com”
  •   
  • X-AppEngine-User-ID,带有示例标头:“ 100979712376541954724”
  •   

因此可以相信它们不会来自GAE之外。但是我不确定它们与下面的IAP有何关系。

由于不支持Users API,因此我将遵循有关灵活环境的建议,从这个角度来看,该环境似乎更接近Python3运行时-我将验证签名标头。