While this is not an issue in the turbogears code, it will bite you if you 
use
alternative login facilities (CAS, LDAP, openid) in TurboGears 2.1.X 
applications.
These plugins tend to use auth_tkt  to store the identity in a cookie.


In  repoze.who-1.0.1[89]-py2.6.egg/repoze/who/plugins/auth_tkt.py:identify:
Any who_tokens are joined into a string and passed to a cookie creation

      if not isinstance(tokens, basestring):
            tokens = ','.join(tokens)
        if not isinstance(who_tokens, basestring):
            who_tokens = ','.join(who_tokens)
        old_data = (userid, tokens, userdata)
        new_data = (who_userid, who_tokens, who_userdata)

        if old_data != new_data or (self.reissue_time and
                ( (timestamp + self.reissue_time) < time.time() )):
            ticket = auth_tkt.AuthTicket(
                self.secret,
                who_userid,
                remote_addr,
                tokens=who_tokens,
                user_data=who_userdata,
                cookie_name=self.cookie_name,
                secure=self.secure)
            new_cookie_value = ticket.cookie_value()

The creation of the ticket is then done here: 

/Paste-1.7.5.1/paste/auth/auth_tkt.AuthTicket.__init__


    def __init__(self, secret, userid, ip, tokens=(), user_data='',
                 time=None, cookie_name='auth_tkt',
                 secure=False):
        self.secret = secret
        self.userid = userid
        self.ip = ip
        self.tokens = ','.join(tokens)

The token list is joined again basically destroying the cookie token list.

I believe this is fixed in repose.who version 2, but TG2.X applications are 
using repoze.who 1.0.18 or 1.0.19

It does not appear that repoze.who version 1 is matained anymore, nor are 
there many update to Paste.. so I 
am not sure where to send this error.   Maybe moving to repoze.who 2 would 
be the solution?



-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/turbogears/-/BU3csMxcAwkJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en.

Reply via email to