TypeError at /openid/complete/
useNonce() takes exactly 2 arguments (4 given)
Request Method: GET
Request URL: http://localhost:8000/openid/complete/
Exception Type: TypeError
Exception Value: useNonce() takes exactly 2 arguments (4 given)
Exception Location: /usr/lib/python2.4/site-packages/openid/consumer/consumer.py in _idResCheckNonce, line 725
Python Executable: /usr/bin/python
Python Version: 2.4.4
Traceback (innermost last)
Switch to copy-and-paste view
* /usr/lib/python2.4/site-packages/django/core/handlers/base.py in _real_get_response
74. # Apply view middleware
75. for middleware_method in self._view_middleware:
76. response = middleware_method(request, callback, callback_args, callback_kwargs)
77. if response:
78. return response
79.
80. try:
81. response = callback(request, *callback_args, **callback_kwargs) ...
82. except Exception, e:
83. # If the view raised an exception, run it through exception
84. # middleware, and if the exception middleware returns a
85. # response, use that. Otherwise, reraise the exception.
86. for middleware_method in self._exception_middleware:
87. response = middleware_method(request, e)
▶ Local vars
Variable Value
callback
<function complete at 0x854ee9c>
callback_args
()
callback_kwargs
{}
debug
<module 'django.views.debug' from '/usr/lib/python2.4/site-packages/django/views/debug.pyc'>
e
<exceptions.TypeError instance at 0x86478cc>
exceptions
<module 'django.core.exceptions' from '/usr/lib/python2.4/site-packages/django/core/exceptions.pyc'>
mail_admins
<function mail_admins at 0x847d3ac>
middleware_method
<bound method SiteMiddleware.process_exception of <utils.middleware.SiteMiddleware object at 0x847f48c>>
request
<WSGIRequest GET:<QueryDict: {u'openid.sig': [u'gZ1yTSn6n3RMTb2V1yKRhI64QXk='], u'openid.return_to': [u'http://localhost:8000/openid/complete/?janrain_nonce=2007-10-07T19%3A23%3A20Z8wdxWC'], u'janrain_nonce': [u'2007-10-07T19:23:20Z8wdxWC'], u'openid.mode': [u'id_res'], u'openid.signed': [u'mode,identity,return_to'], u'openid.identity': [u'http://bobromedved.livejournal.com/'], u'openid.assoc_handle': [u'1191784812:pGmassDPCGFsmZsBaKyz:552be6de69']}>, POST:<QueryDict: {}>, COOKIES:{'sessionid': '2f1f0e9bb8eede286261df764563a21c'}, META:{'ANT_HOME': '/usr/share/ant', 'BOOTLEVEL': 'boot', 'CLASSPATH': '.', 'COLORTERM': 'Terminal', 'CONFIG_PROTECT': '/usr/share/X11/xkb /opt/jetty/etc /usr/kde/3.5/share/config /usr/kde/3.5/env /usr/kde/3.5/shutdown /usr/share/config', 'CONFIG_PROTECT_MASK': '/etc/env.d/java/ /etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/gconf /etc/terminfo /etc/revdep-rebuild', 'CONSOLE': '/dev/console', 'CONSOLETYPE': 'vt', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'CPATH': '/usr/include/libffi', 'CRITICAL_SERVICES': 'checkroot modules checkfs localmount clock bootmisc', 'CVS_RSH': 'ssh', 'DB': '/web/django-bricks', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-mFZ3nrUA4o,guid=78b91af3bbd1aafe78eb840047083e07', 'DEFAULTLEVEL': 'default', 'DISPLAY': ':0.0', 'DJANGO': '/web/django_src', 'DJANGO_SETTINGS_MODULE': 'web_site.settings', 'DOWN': '/home/lorien/download', 'EDITOR': '/usr/bin/vim', 'FLTK_DOCDIR': '/usr/share/doc/fltk-1.1.7/html', 'GATEWAY_INTERFACE': 'CGI/1.1', 'GCC_PATH': '/usr/i686-pc-linux-gnu/gcc-bin/4.1.2', 'GCC_SPECS': '', 'GDK_USE_XFT': '1', 'GENERATION': '2', 'G_BROKEN_FILENAMES': '1', 'G_FILENAME_ENCODING': 'UTF-8', 'HOME': '/home/lorien', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'windows-1251,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'ru,en-us;q=0.7,en;q=0.3', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'sessionid=2f1f0e9bb8eede286261df764563a21c', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://www.livejournal.com/openid/approve.bml?return_to=http://localhost:8000/openid/complete/%3Fjanrain_nonce%3D2007-10-07T19%253A23%253A20Z8wdxWC&identity=http://bobromedved.livejournal.com/&assoc_handle=1191784812:pGmassDPCGFsmZsBaKyz:552be6de69&trust_root=http://localhost:8000/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.8.1.5) Gecko/20070806 Firefox/2.0.0.5', 'INFOPATH': '/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.17/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info', 'INIT_VERSION': 'sysvinit-2.86', 'JAVAC': '/etc/java-config-2/current-system-vm/bin/javac', 'JAVA_HOME': '/etc/java-config-2/current-system-vm', 'JDK_HOME': '/etc/java-config-2/current-system-vm', 'JETTY_HOME': '/opt/jetty', 'KDEDIRS': '/usr/kde/3.5:/usr:/usr/local', 'LANG': 'en_US.UTF-8', 'LESS': '-R -M --shift 5', 'LESSOPEN': '|lesspipe.sh %s', 'LIBGL_DRIVERS_PATH': '/usr/lib/dri', 'LOGNAME': 'lorien', 'LS_COLORS': 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:', 'MANPATH': '/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.17/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man:/opt/sun-jdk-1.4.2.15/man:/etc/java-config/system-vm/man/:/usr/lib/php5/man/:/usr/qt/3/doc/man:/opt/opera/share/man', 'OLDPWD': '/home/photophon/photobot/web_site', 'OLDSOFTLEVEL': 'boot', 'OPENGL_PROFILE': 'nvidia', 'PAGER': '/usr/bin/less', 'PATH': '/home/lorien/bin:/usr/local/bin:/web/django_src/django/bin:/web/schemaevolution:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/opt/sun-jdk-1.4.2.15/bin:/opt/sun-jdk-1.4.2.15/jre/bin:/opt/sun-jdk-1.4.2.15/jre/javaws:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/games/bin', 'PATH_INFO': '/openid/complete/', 'PKG_CONFIG_PATH': '/usr/qt/3/lib/pkgconfig', 'PREVLEVEL': 'N', 'PWD': '/web/pybb.org/web_site', 'PYTHONDOCS': '/usr/share/doc/python-docs-2.4.4/html/lib', 'PYTHONPATH': '/usr/lib/portage/pym', 'QMAKESPEC': 'linux-g++', 'QTDIR': '/usr/qt/3', 'QUERY_STRING': 'janrain_nonce=2007-10-07T19%3A23%3A20Z8wdxWC&openid.mode=id_res&openid.identity=http://bobromedved.livejournal.com/&openid.return_to=http://localhost:8000/openid/complete/%3Fjanrain_nonce%3D2007-10-07T19%253A23%253A20Z8wdxWC&openid.assoc_handle=1191784812:pGmassDPCGFsmZsBaKyz:552be6de69&openid.signed=mode,identity,return_to&openid.sig=gZ1yTSn6n3RMTb2V1yKRhI64QXk%3D', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUNLEVEL': '3', 'RUN_MAIN': 'true', 'SCRIPT_NAME': '', 'SERVER_NAME': 'localhost', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.4.4', 'SESSION_MANAGER': 'local/lorien:/tmp/.ICE-unix/5753', 'SHELL': '/bin/bash', 'SHLVL': '5', 'SOFTLEVEL': 'default', 'SSH_AGENT_PID': '5744', 'SSH_AUTH_SOCK': '/tmp/ssh-SeJrUG5743/agent.5743', 'SVCNAME': 'local', 'TERM': 'xterm', 'TZ': 'Moscow/Europe', 'USER': 'lorien', 'VMHANDLE': 'sun-jdk-1.4', 'WINDOWID': '23068686', 'WINEPREFIX': '/home/lorien/.wine', 'XDG_DATA_DIRS': '/usr/local/share:/usr/share', '_': './manage.py', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0xb7ccc0b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0xb7670bfc>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>
resolver
<RegexURLResolver urls ^/>
response
None
self
<django.core.handlers.wsgi.WSGIHandler object at 0xb7697dcc>
settings
<django.conf.LazySettings object at 0xb7c0ff4c>
urlconf
u'urls'
urlresolvers
<module 'django.core.urlresolvers' from '/usr/lib/python2.4/site-packages/django/core/urlresolvers.pyc'>
* /web/pybb.org/web_site/openidconsumer/views.py in complete
123.
124.
125. def complete(request, on_success=None, on_failure=None):
126. on_success = on_success or default_on_success
127. on_failure = on_failure or default_on_failure
128.
129. consumer = Consumer(request.session, DjangoOpenIDStore())
130. openid_response = consumer.complete(dict(request.GET.items())) ...
131.
132. if openid_response.status == SUCCESS:
133. return on_success(request, openid_response.identity_url, openid_response)
134. elif openid_response.status == CANCEL:
135. return on_failure(request, _("The request was cancelled"))
136. elif openid_response.status == FAILURE:
▶ Local vars
Variable Value
consumer
<openid.consumer.consumer.Consumer object at 0xb766e8ec>
on_failure
<function wrapper at 0x855009c>
on_success
<function default_on_success at 0x854ef44>
request
<WSGIRequest GET:<QueryDict: {u'openid.sig': [u'gZ1yTSn6n3RMTb2V1yKRhI64QXk='], u'openid.return_to': [u'http://localhost:8000/openid/complete/?janrain_nonce=2007-10-07T19%3A23%3A20Z8wdxWC'], u'janrain_nonce': [u'2007-10-07T19:23:20Z8wdxWC'], u'openid.mode': [u'id_res'], u'openid.signed': [u'mode,identity,return_to'], u'openid.identity': [u'http://bobromedved.livejournal.com/'], u'openid.assoc_handle': [u'1191784812:pGmassDPCGFsmZsBaKyz:552be6de69']}>, POST:<QueryDict: {}>, COOKIES:{'sessionid': '2f1f0e9bb8eede286261df764563a21c'}, META:{'ANT_HOME': '/usr/share/ant', 'BOOTLEVEL': 'boot', 'CLASSPATH': '.', 'COLORTERM': 'Terminal', 'CONFIG_PROTECT': '/usr/share/X11/xkb /opt/jetty/etc /usr/kde/3.5/share/config /usr/kde/3.5/env /usr/kde/3.5/shutdown /usr/share/config', 'CONFIG_PROTECT_MASK': '/etc/env.d/java/ /etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/gconf /etc/terminfo /etc/revdep-rebuild', 'CONSOLE': '/dev/console', 'CONSOLETYPE': 'vt', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'CPATH': '/usr/include/libffi', 'CRITICAL_SERVICES': 'checkroot modules checkfs localmount clock bootmisc', 'CVS_RSH': 'ssh', 'DB': '/web/django-bricks', 'DBUS_SESSION_BUS_ADDRESS': 'unix:abstract=/tmp/dbus-mFZ3nrUA4o,guid=78b91af3bbd1aafe78eb840047083e07', 'DEFAULTLEVEL': 'default', 'DISPLAY': ':0.0', 'DJANGO': '/web/django_src', 'DJANGO_SETTINGS_MODULE': 'web_site.settings', 'DOWN': '/home/lorien/download', 'EDITOR': '/usr/bin/vim', 'FLTK_DOCDIR': '/usr/share/doc/fltk-1.1.7/html', 'GATEWAY_INTERFACE': 'CGI/1.1', 'GCC_PATH': '/usr/i686-pc-linux-gnu/gcc-bin/4.1.2', 'GCC_SPECS': '', 'GDK_USE_XFT': '1', 'GENERATION': '2', 'G_BROKEN_FILENAMES': '1', 'G_FILENAME_ENCODING': 'UTF-8', 'HOME': '/home/lorien', 'HTTP_ACCEPT': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'windows-1251,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'ru,en-us;q=0.7,en;q=0.3', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'sessionid=2f1f0e9bb8eede286261df764563a21c', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://www.livejournal.com/openid/approve.bml?return_to=http://localhost:8000/openid/complete/%3Fjanrain_nonce%3D2007-10-07T19%253A23%253A20Z8wdxWC&identity=http://bobromedved.livejournal.com/&assoc_handle=1191784812:pGmassDPCGFsmZsBaKyz:552be6de69&trust_root=http://localhost:8000/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.8.1.5) Gecko/20070806 Firefox/2.0.0.5', 'INFOPATH': '/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.17/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info', 'INIT_VERSION': 'sysvinit-2.86', 'JAVAC': '/etc/java-config-2/current-system-vm/bin/javac', 'JAVA_HOME': '/etc/java-config-2/current-system-vm', 'JDK_HOME': '/etc/java-config-2/current-system-vm', 'JETTY_HOME': '/opt/jetty', 'KDEDIRS': '/usr/kde/3.5:/usr:/usr/local', 'LANG': 'en_US.UTF-8', 'LESS': '-R -M --shift 5', 'LESSOPEN': '|lesspipe.sh %s', 'LIBGL_DRIVERS_PATH': '/usr/lib/dri', 'LOGNAME': 'lorien', 'LS_COLORS': 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:', 'MANPATH': '/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.17/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man:/opt/sun-jdk-1.4.2.15/man:/etc/java-config/system-vm/man/:/usr/lib/php5/man/:/usr/qt/3/doc/man:/opt/opera/share/man', 'OLDPWD': '/home/photophon/photobot/web_site', 'OLDSOFTLEVEL': 'boot', 'OPENGL_PROFILE': 'nvidia', 'PAGER': '/usr/bin/less', 'PATH': '/home/lorien/bin:/usr/local/bin:/web/django_src/django/bin:/web/schemaevolution:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/opt/sun-jdk-1.4.2.15/bin:/opt/sun-jdk-1.4.2.15/jre/bin:/opt/sun-jdk-1.4.2.15/jre/javaws:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/games/bin', 'PATH_INFO': '/openid/complete/', 'PKG_CONFIG_PATH': '/usr/qt/3/lib/pkgconfig', 'PREVLEVEL': 'N', 'PWD': '/web/pybb.org/web_site', 'PYTHONDOCS': '/usr/share/doc/python-docs-2.4.4/html/lib', 'PYTHONPATH': '/usr/lib/portage/pym', 'QMAKESPEC': 'linux-g++', 'QTDIR': '/usr/qt/3', 'QUERY_STRING': 'janrain_nonce=2007-10-07T19%3A23%3A20Z8wdxWC&openid.mode=id_res&openid.identity=http://bobromedved.livejournal.com/&openid.return_to=http://localhost:8000/openid/complete/%3Fjanrain_nonce%3D2007-10-07T19%253A23%253A20Z8wdxWC&openid.assoc_handle=1191784812:pGmassDPCGFsmZsBaKyz:552be6de69&openid.signed=mode,identity,return_to&openid.sig=gZ1yTSn6n3RMTb2V1yKRhI64QXk%3D', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUNLEVEL': '3', 'RUN_MAIN': 'true', 'SCRIPT_NAME': '', 'SERVER_NAME': 'localhost', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.4.4', 'SESSION_MANAGER': 'local/lorien:/tmp/.ICE-unix/5753', 'SHELL': '/bin/bash', 'SHLVL': '5', 'SOFTLEVEL': 'default', 'SSH_AGENT_PID': '5744', 'SSH_AUTH_SOCK': '/tmp/ssh-SeJrUG5743/agent.5743', 'SVCNAME': 'local', 'TERM': 'xterm', 'TZ': 'Moscow/Europe', 'USER': 'lorien', 'VMHANDLE': 'sun-jdk-1.4', 'WINDOWID': '23068686', 'WINEPREFIX': '/home/lorien/.wine', 'XDG_DATA_DIRS': '/usr/local/share:/usr/share', '_': './manage.py', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0xb7ccc0b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0xb7670bfc>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>
* /usr/lib/python2.4/site-packages/openid/consumer/consumer.py in complete
389. """
390.
391. endpoint = self.session.get(self._token_key)
392. if endpoint is None:
393. response = FailureResponse(None, 'No session state found')
394. else:
395. message = Message.fromPostArgs(query)
396. response = self.consumer.complete(message, endpoint, return_to) ...
397. del self.session[self._token_key]
398.
399. if (response.status in ['success', 'cancel'] and
400. response.identity_url is not None):
401.
402. disco = Discovery(self.session,
▶ Local vars
Variable Value
endpoint
<openid.consumer.discover.OpenIDServiceEndpoint object at 0x85d23cc>
message
<openid.message.Message object at 0x87614cc>
query
{u'janrain_nonce': u'2007-10-07T19:23:20Z8wdxWC', u'openid.assoc_handle': u'1191784812:pGmassDPCGFsmZsBaKyz:552be6de69', u'openid.identity': u'http://bobromedved.livejournal.com/', u'openid.mode': u'id_res', u'openid.return_to': u'http://localhost:8000/openid/complete/?janrain_nonce=2007-10-07T19%3A23%3A20Z8wdxWC', u'openid.sig': u'gZ1yTSn6n3RMTb2V1yKRhI64QXk=', u'openid.signed': u'mode,identity,return_to'}
return_to
None
self
<openid.consumer.consumer.Consumer object at 0xb766e8ec>
* /usr/lib/python2.4/site-packages/openid/consumer/consumer.py in complete
588. elif mode == 'id_res':
589. try:
590. self._checkSetupNeeded(message)
591. except SetupNeededError, why:
592. return SetupNeededResponse(endpoint, why.user_setup_url)
593. else:
594. try:
595. return self._doIdRes(message, endpoint) ...
596. except (ProtocolError, DiscoveryFailure), why:
597. return FailureResponse(endpoint, why[0])
598. else:
599. return FailureResponse(endpoint,
600. 'Invalid openid.mode: %r' % (mode,))
601.
▶ Local vars
Variable Value
endpoint
<openid.consumer.discover.OpenIDServiceEndpoint object at 0x85d23cc>
message
<openid.message.Message object at 0x87614cc>
mode
u'id_res'
return_to
None
self
<openid.consumer.consumer.GenericConsumer object at 0x85b828c>
* /usr/lib/python2.4/site-packages/openid/consumer/consumer.py in _doIdRes
677. endpoint = self._verifyDiscoveryResults(message, endpoint)
678.
679. self._idResCheckSignature(message, endpoint.server_url)
680.
681. response_identity = message.getArg(OPENID_NS, 'identity')
682.
683. # Will raise a ProtocolError if the nonce is bad
684. self._idResCheckNonce(message, endpoint) ...
685.
686. signed_fields = ["openid." + s for s in signed_list]
687. return SuccessResponse(endpoint, message, signed_fields)
688.
689. def _idResGetNonceOpenID1(self, message, endpoint):
690. """Extract the nonce from an OpenID 1 response
▶ Local vars
Variable Value
endpoint
<openid.consumer.discover.OpenIDServiceEndpoint object at 0x85d23cc>
message
<openid.message.Message object at 0x87614cc>
response_identity
u'http://bobromedved.livejournal.com/'
self
<openid.consumer.consumer.GenericConsumer object at 0x85b828c>
signed_list
[u'mode', u'identity', u'return_to']
signed_list_str
u'mode,identity,return_to'
* /usr/lib/python2.4/site-packages/openid/consumer/consumer.py in _idResCheckNonce
718. raise ProtocolError('Nonce missing from response')
719.
720. try:
721. timestamp, salt = splitNonce(nonce)
722. except ValueError, why:
723. raise ProtocolError('Malformed nonce: %s' % (why[0],))
724.
725. if (self.store is not None and ...
726. not self.store.useNonce(server_url, timestamp, salt)):
727. raise ProtocolError('Nonce already used or out of range')
728.
729. def _idResCheckSignature(self, message, server_url):
730. assoc_handle = message.getArg(OPENID_NS, 'assoc_handle')
731. if self.store is None:
▶ Local vars