Google App Engine-Flask应用程序绕过Devserver上的标准Google Auth

Bolezee

我是新来的烧瓶中,我试图整理我的代码作为在谷歌App Engine的部署大型应用程序。我使用的瓶,优雅,以帮助组织我的申请,逻辑包。

应用程序开发服务器上运行得很好但有一个例外。当我设置login: requiredlogin: admin在我的app.yaml(见下面的app.yaml)时,应用程序似乎跳过模拟谷歌登录页面,自动为“[email protected]”的招牌。

通常,当在app.yaml中设置login:required或login:admin时,我希望看到标准的Google模拟身份验证表单(如下)。然而,当我点“/”浏览器的或任何其他的URI,我执导的权利相应的页面,而不通过这种形式的验证。谷歌模拟验证表单

我不知道我缺少/做错了。我没有收到任何类型的错误。

下面,我包括我的应用程序的结构和最相关的代码,看是否有人也许能够指出任何东西我在这里做错了。

/flask_app
  /flask_app
    /mod_one
      /__init__.py
      /forms.py
      /views.py
      /models.py
    /mod_two
      /__init__.py
      /forms.py
      /views.py
      /models.py
    /static
      /css
      ...
    /templates
      /index.html
      ...
    /__init__.py
    /settings.py
    /urls.py
  /lib
  /app.yaml
  /appengine_config.py
  /main.py

的app.yaml

application: flask-app
version: 1
runtime: python27
api_version: 1
threadsafe: yes

default_expiration: "30d"

builtins:
  - deferred: on
  - admin_redirect: on

handlers:

- url: /css
  static_dir: flask_app/static/css

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

- url: /.*
  script: main.app
  login: required

appengine_config.py

import sys
import os.path

sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'lib'))

main.py

from flask_app import app

app = app

flask_app /初始化的.py

import os
from flask import Flask
from flask_bootstrap import Bootstrap
from werkzeug.debug import DebuggedApplication


app = Flask(__name__)

if os.getenv('FLASK_CONF') == 'TEST':
    app.config.from_object('flask_app.settings.Testing')

elif 'SERVER_SOFTWARE' in os.environ and os.environ['SERVER_SOFTWARE'].startswith('Dev'):
    # Development settings
    app.config.from_object('flask_app.settings.Development')  

    app.wsgi_app = DebuggedApplication(app.wsgi_app, evalex=True)

else:
    app.config.from_object('flask_app.settings.Production')

# Instantiate Flask-Bootstrap.
Bootstrap(app)

import urls

flask_app / urls.py

from flask import render_template
from flask_app import app


@app.route('/')
def index():
    params = {
        'page_title': 'Home'
    }
    return render_template('index.html', **params)


@app.route('/contact')
def contact():
    params = {
        'page_title': 'Contact'
    }
    return render_template('contact.html', **params)


@app.route('/about')
def about():
    params = {
        'page_title': 'About'
    }
    return render_template('about.html', **params)


# Error handlers
# Handle 404 errors
@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404


# Handle 500 errors
@app.errorhandler(500)
def server_error(e):
    return render_template('500.html'), 500

# Register Flask Classy Classes
import mod_one.views as mod_one
import mod_two.views as mod_two

mod_one.OneView.register(app)
mod_two.TwoView.register(app)
Bolezee

由于@格雷格到问题的评论中指出,我已经“登陆”到dev_appserver(它扔我,因为我从来没有见过模拟登录页面),这样的认证是使用默认的“[email protected]”发生用户。

有一次,我去了/_ah/login,我能够进入模拟登录页面,并继续像往常一样从那里。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

记录Google App Engine应用程序

在Django应用程序的Google App Engine上启用CORS

Google App Engine Java上的RESTful应用程序?

如何使网络应用程序自动下载 mp3 文件 [Google App Engine 上的 Flask]

从Google App Engine应用程序运行Google Dataflow管道?

Google App Engine多快?

Google App Engine与Firebase

Google App Engine标准应用程序可以访问本地计算机的文件吗?

如何通过PHP App Engine应用程序在Google Compute Engine实例上创建cron作业?

如何从Google App Engine标准上的CI应用程序的子目录运行自定义php应用程序?

Google App Engine:Flask应用程序上出现cv2 libSM.so.6错误

Google App Engine devserver重新部署

在Flask + Google App Engine上启用SSL

Google App Engine上的OSGI?

Google App Engine上的Retrolambda

在Google App Engine中部署Quart Python应用程序

在 Google App Engine 上部署应用程序时出错

Google App Engine Python应用程序需要登录

KeystoneJS 应用程序无法在 Google App Engine 上部署

将应用程序移植到Google App Engine

Google App Engine登录与应用程序登录

在Google App Engine(localhost)的Jetty上调试应用程序

上载Google App Engine应用程序时出错

使用Google App Engine创建Web应用程序?

Google Cloud中的不同App Engine应用程序

将Django应用程序部署到Google App Engine

将节点应用程序部署到Google App Engine

无法在 Google App Engine 上部署 Flask 应用程序,收到错误“502 Bad Gateway”

Google App Engine /数据存储区/ Flask / Python应用程序中的内存泄漏