[英]Using both OAuth and GAE's Users API within a GAE application
我想在GAE上托管我基于Flask的Web应用程序。
普通用户使用flask-oauthlib针对Google进行身份验证。
但是,我想使用GAE的Users API对管理员用户进行身份验证,因为它提供了users.is_current_user_admin()
。
但是,似乎我无法保护app.yaml
的admin
区域,因为以下配置无效:
# app.yaml
[...]
handlers:
# For admin users
# THIS IS INVALID!
- url: /admin
login: admin
# For regular users
- url: /.*
script: main.app
选项1:在同一GAE应用程序中创建一个单独的flask app
对象:
# app.yaml
[...]
# For admin users
- url: /admin
script: admin.app
login: admin
这是个好习惯吗? 如果没有,为什么?
选项2:只需实现以下功能:
def is_admin():
return current_user.email in ["admin1@...", "admin2@...", "admin3@..."]
也就是说,不要依赖GAE的Users API。
笔记:
有什么想法(其他解决方案)?
我的非Flask应用程序中有这样的混合登录名,我的处理程序如下所示:
handlers:
- url: /admin
script: main.app
login: admin
- url: /.*
script: main.app
无需拥有单独的管理员应用。 我不知道Flask是如何工作的,但是我希望它也能为您工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.