In the 谷歌文档 it says
您可以将任何手动或基本扩展模块配置为接受来自应用程序中其他模块的请求,方法是将其处理程序限制为仅允许管理员帐户,并在模块的配置文件中为适当的处理程序指定“login: admin”。实施此限制后,来自应用程序中任何其他模块的任何 URLFetch 都将由 App Engine 自动进行身份验证,并且任何非来自应用程序的请求都将被拒绝。
所以我这样做了,但不幸的是它不起作用。我正在模块 B 上的模块 A 请求一个 url,该 url 受login: admin
财产
我可以在浏览器中获取该网址,该网址显示登录页面,在我继续作为管理员之后,我可以获取我的路线。
它应该如何运作?据我了解,它应该向请求添加一个标头,其中包含某种授权令牌。
如果我在模块 A 的请求中获取相同的 url,我会得到相同的重定向。urllib2
遵循302
默认状态码,结果是登录页面。
我正在使用运行环境gcloud preview app run
命令。模块 A 是默认模块,模块 B 是托管虚拟机容器,这可能是问题所在吗?
我可以确认这种情况正在发生,并且我已经重现了该问题。该问题正在跟踪中App Engine 公共问题跟踪器。请关注此处以获取任何更新。
目前,我认为手动检查要好得多X-Appengine-Inbound-Appid
标头,因为这是由基础设施管理的并且不能被欺骗。
您还可以实现 OAuth,但这会增加小型应用程序上您可能不希望或不需要的开销。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)