0

Я хотел бы разместить мое приложение на основе фляги на GAE.Использование API-интерфейсов OAuth и GAE в приложении GAE

Постоянные пользователи аутентифицированы в отношении Google с использованием flask-oauthlib.

Однако, я хотел бы, чтобы проверить подлинность пользователей администратора с помощью GAE-х Users API, так как она обеспечивает, помимо прочего, users.is_current_user_admin().

Тем не менее, кажется, что я не могу защитить admin области от app.yaml, потому что следующая конфигурация не является действительной:

# app.yaml 
[...] 
handlers: 
# For admin users 
# THIS IS INVALID! 
- url: /admin 
    login: admin 

# For regular users 
- url: /.* 
    script: main.app 

Вариант 1: Создайте отдельную колбу app объекта в том же Применение GAE:

# app.yaml 
[...] 
# For admin users 
- url: /admin 
    script: admin.app 
    login: admin 

Это хорошая практика? Если нет, то почему?


Вариант 2: Просто реализовать такую ​​функцию, как:

def is_admin(): 
    return current_user.email in ["[email protected]", "[email protected]", "[email protected]"] 

То есть, не полагаться на API пользователей GAE в.


Примечания:

  • есть только несколько пользователей администратора
  • мне не нужны мелкозернистых роли в момент

Любые мысли (другие решения)?

ответ

1

у меня есть такие смешанные логины в моем не-Колба приложение, и мои обработчики выглядеть следующим образом:

handlers: 
- url: /admin 
    script: main.app 
    login: admin 

- url: /.* 
    script: main.app 

Нет необходимости иметь отдельное приложение для администратора. Я не знаю, как работает Flask, но я ожидаю, что это сработает и для вас.

+0

Спасибо! Думаю, вы используете webapp2. Это верно? –

+0

@ пользователь6770522, да, я использую webapp2. –

Смежные вопросы