bbangert/velruse — Issue #32: 1.20a-dev, Problem with Google Authentication, The page you requested is invalid.
Author: cd34
Created: 2011-11-25 23:36:22+00:00
State: open

If I use Google Authentication, whether on a two-factor google account or a newly created account, I receive a url of https://accounts.google.com/o/openid2/auth?st=xlRUpXQSC...

with:

The page you requested is invalid.

date: Fri, 25 Nov 2011 23:31:03 GMT
content-encoding: gzip
x-content-type-options: nosniff
status: 400 Bad Request
x-xss-protection: 1; mode=block
server: GSE
x-frame-options: SAMEORIGIN
content-type: text/html; charset=UTF-8
expires: Fri, 25 Nov 2011 23:31:03 GMT
cache-control: private, max-age=0
version: HTTP/1.1

400 Bad Request

I'm using the following development.ini, with velruse installed from:

easy_install -U https://github.com/bbangert/velruse/tarball/master

The domain is resolvable, the key and domain are set up in Google, removing the keys and relying on Google OpenID results in the same. Brand new virtualenv with only pyramid and velruse installed. I am not using any Google scopes for additional permissions, I did test via their control panel and it does properly authenticate for Google Calendar. Velruse prior to the dev version works with the same parameters (though in CONFIG.yaml).

Can someone do a sanity check to tell me if I've missed some option, or, whether Google authentication works/does not work?

Thanks.

my development.ini:

[app:veltest]
use = egg:veltest

pyramid.reload_templates = true
pyramid.debug_authorization = false
pyramid.debug_notfound = false
pyramid.debug_routematch = false
pyramid.debug_templates = true
pyramid.default_locale_name = en
pyramid.includes =
pyramid_tm
#	pyramid_debugtoolbar

sqlalchemy.url = sqlite:///%(here)s/veltest.db

[server:main]
use = egg:Paste#http
host = 0.0.0.0
port = 8080

# Begin logging configuration

[loggers]
keys = root, veltest, sqlalchemy

[handlers]
keys = console

[formatters]
keys = generic

[logger_root]
level = INFO
handlers = console

[logger_veltest]
level = DEBUG
handlers =
qualname = veltest

[logger_sqlalchemy]
level = INFO
handlers =
qualname = sqlalchemy.engine
# "level = INFO" logs SQL queries.
# "level = DEBUG" logs SQL queries and results.
# "level = WARN" logs neither. (Recommended for production systems.)

[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s

# End logging configuration

[filter:exc]
use=egg:WebError#evalerror

[pipeline:pveltest]
pipeline = exc veltest

[composite:main]
use = egg:Paste#urlmap
/ = pveltest
/velruse = velruse

[app:velruse]
velruse.end_point = http://pch1.mia.mydomain.com:8080/auth/apex_callback
velruse.store = velruse.store.sqlstore
velruse.store.url = mysql://sflh:s1s2s3@localhost/sflh?use_unicode=0&charset=utf8
velruse.openid.store = openid.store.memstore:MemoryStore
velruse.openid.realm = http://pch1.mia.mydomain.com

velruse.providers =
velruse.providers.google

velruse.google.consumer_key = pch1.mia.mydomain.com
velruse.google.consumer_secret = qn53zdxtB0qO96Es_AE-3KZH

use = egg:velruse
###config_file = %(here)s/CONFIG.yaml
beaker.session.data_dir = %(here)s/data/sdata
beaker.session.lock_dir = %(here)s/data/slock
beaker.session.key = velruse
beaker.session.secret = somesecret
beaker.session.type = cookie
beaker.session.validate_key = STRONG_KEY_HERE
beaker.session.cookie_domain = .mydomain.com