繁体   English   中英

在GAE应用程序中同时使用OAuth和GAE的Users API

[英]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.yamladmin区域,因为以下配置无效:

# 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM