我使用Flex和Symfony 我想在身份验证后面有一个网址。 我尝试过
handlers:
- url: /.*
script: app.php
login: required
secure: always
或
- url: /.*
script: app.php
login: admin
当我部署我的应用程序时,我无法登录并收到403。 如何在auth后面有用于部署的URL? 谢谢
答案 0 :(得分:1)
您所做的尝试仅适用于标准环境。可能有用:How to tell if a Google App Engine documentation page applies to the standard or the flexible environment
在灵活的环境中不推荐使用login
和secure
配置。在app.yaml changes指南的Upgrading to the App Engine Flexible Environment Latest Release部分中:
身份验证更改
您还必须更新
app.yaml
文件以删除或替换 已弃用的其他配置设置:
- 保护处理程序
此应用已弃用
secure
下的handlers
设置 引擎灵活的环境。如果您需要SSL重定向,则可以 更新您的应用程序代码并使用X-Forwarded-Proto
标头 重定向http
流量。您也可以使用HTTP Strict Transport Security response header。
- 登录处理程序
此应用已弃用
login
下的handlers
设置 引擎灵活的环境。您应遵循User service migration的指导。
也来自Users指南的Migrating Services from the Standard Environment to the Flexible Environment部分(重点是我的):
用户服务在标准之外不可用 环境。您可以在中使用任何基于HTTP的身份验证机制 灵活的环境,例如:
- Google Identity Platform,它提供了许多用于Google用户帐户的身份验证和授权的选项。
- Firebase Authentication,它使用用户名/密码提供身份验证,并使用Google,Facebook, Twitter等。
- Auth0,通过各种身份提供者和单一登录功能提供身份验证。
- OAuth 2.0和OpenID Connect,它们从您选择的提供者那里提供联合身份。 Google是OpenID Connect identity provider。还有几个other 提供程序。
请注意,由于无法使用“用户”服务,因此无法使用
app.yaml
来使URL只能由 管理员。您将需要在自己的内部处理此逻辑 应用程序。
您会注意到,在灵活的环境app.yaml
Configuration File文档中,没有提到login
/ secure
(或handlers
)。
因此,您需要在应用代码中处理身份验证。