2015-04-13 1 views
1

У меня есть реализация Python Flask некоторых сервисов REST, которые я хочу запустить в Google App Engine (GAE). У меня есть службы, но теперь я хочу добавить базовую аутентификацию, чтобы добавить уровень безопасности к моим услугам и данным. Я попытался следующим прекрасной статьей Мигель по адресу: http://blog.miguelgrinberg.com/post/restful-authentication-with-flaskPython Flask REST аутентификация в Google Apps Engine

Но я застреваю на участках кода, как:

from flask.ext.httpauth import HTTPBasicAuth 
auth = HTTPBasicAuth() 

@app.route('/api/resource') 
@auth.login_required 
def get_resource(): 
    return jsonify({ 'data': 'Hello, %s!' % g.user.username }) 

Из того, что я могу сказать, GAE делает не поддерживает использование httpauth и HTTPBasicAuth. Это верно? Или есть способ использовать эти библиотеки там? Что было бы эквивалентом чего-то подобного для GAE? Я не хочу добавлять причудливый уровень аутентификации, такой как OpenID и тому подобное, - и я не хочу, чтобы все мои пользователи имели учетную запись Google. Я просто ищу самую простую аутентификацию, разрешенную GAE.

ответ

0

Вы можете включить дополнительные сторонние пакеты на чистом-питоне, вы можете установить , настроив поставщика. Vendoring позволяет вам установить пакеты в подкаталог вашего проекта и включить их в свой код . - Vendoring Third-party Packages

  1. cd <your_appengine_project_directory>
  2. Создание или изменение appengine_config.py в корневом каталоге вашего проекта, чтобы содержать следующее:

    from google.appengine.ext import vendor 
    
    vendor.add('lib') 
    pip install -r requirements.txt -t lib/ 
    

    или для последней команды:

    pip install Flask-HTTPAuth -t lib/ 
    

См. https://github.com/GoogleCloudPlatform/appengine-python-flask-skeleton для скелета колбы при начале работы с GAE