Fix transaction check
authorPatrick Uiterwijk <puiterwijk@redhat.com>
Wed, 19 Aug 2015 03:29:20 +0000 (05:29 +0200)
committerPatrick Uiterwijk <puiterwijk@redhat.com>
Fri, 28 Aug 2015 08:52:57 +0000 (10:52 +0200)
This fixes OpenID specification compliance, since the main
OpenID endpoint URL needs to serve a non-error result on
query, and the current code would error out.

Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Reviewed-by: Rob Crittenden <rcritten@redhat.com>
ipsilon/providers/openid/auth.py

index 64245f5..1ecbe43 100644 (file)
@@ -26,7 +26,8 @@ class AuthenticateRequest(ProviderPageBase):
         try:
             # generate a new id or get current one
             self.trans = Transaction('openid', **kwargs)
-            if self.trans.cookie.value != self.trans.provider:
+            if (self.trans.cookie and
+                    self.trans.cookie.value != self.trans.provider):
                 self.debug('Invalid transaction, %s != %s' % (
                            self.trans.cookie.value, self.trans.provider))
         except Exception, e:  # pylint: disable=broad-except