|
|
Created:
11 years, 7 months ago by remco.boerma Modified:
11 years, 6 months ago Reviewers:
thomas.j.waldmann, Reimar Bauer Visibility:
Public. |
DescriptionCAS auth rework
Patch Set 1 #
Total comments: 20
Patch Set 2 : after 1st review #
Total comments: 7
Patch Set 3 : Reworked comments, added inline comments #
Total comments: 33
Patch Set 4 : More PEP 8 as requested, more doc, fixes as requested #
Total comments: 8
Patch Set 5 : Added the patched asked by Thomas #MessagesTotal messages: 12
some hints can there be a unit test too for verification of the changes. http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode62 MoinMoin/auth/cas.py:62: by Massimo Di Pierro with patches from others licensed under GPL v2 is it GPLv2 or GPLv2+ http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode68 MoinMoin/auth/cas.py:68: a,b,c = data[1].split( ':' )+[None,None] py.test -k test_sourcecode and pylint cas.py will give hints here http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode76 MoinMoin/auth/cas.py:76: envelop = dxml.getElementsByTagName("cas:authenticationSuccess") very much lines enclosed in try / except can you try to separate those which can fail from the others http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode81 MoinMoin/auth/cas.py:81: key = x.nodeName[4:].encode('utf8') 4 can be a constant with a name may be that explains why it is 4 which decoding has the key? http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode102 MoinMoin/auth/cas.py:102: def __init__(self, auth_server, login_path="/login", logout_path="/logout", validate_path="/validate",return_logins=[]): such definitions like [] make troubles Use None and set it internal. http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode111 MoinMoin/auth/cas.py:111: kw['password']= 'bogus' is that a good idea to set a password? http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode125 MoinMoin/auth/cas.py:125: # url += "?action="+"".join(action) we could also have an url_prefix_action grep the code for examples how to build the url http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode149 MoinMoin/auth/cas.py:149: # remco ?
Sign in to reply to this message.
In response to your comments. I'll upload the new version. http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode62 MoinMoin/auth/cas.py:62: by Massimo Di Pierro with patches from others licensed under GPL v2 GPLv2 the doc says On 2012/10/03 08:15:42, Reimar Bauer wrote: > is it GPLv2 or GPLv2+ http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode68 MoinMoin/auth/cas.py:68: a,b,c = data[1].split( ':' )+[None,None] This is part of what i've copied and haven't changed or looked into. It works, but i can try to find out what pylint says. On 2012/10/03 08:15:42, Reimar Bauer wrote: > py.test -k test_sourcecode > and pylint cas.py > > will give hints here http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode76 MoinMoin/auth/cas.py:76: envelop = dxml.getElementsByTagName("cas:authenticationSuccess") Again, this is from the code from web2py On 2012/10/03 08:15:42, Reimar Bauer wrote: > very much lines enclosed in try / except > > can you try to separate those which can fail from the others http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode81 MoinMoin/auth/cas.py:81: key = x.nodeName[4:].encode('utf8') Again, copied from web2py. The length of 4 can be read from the startswith('cas:') but if that is not obvious enough i can put it in a named constant. The encoding i have no idea of. Does it matter much? On 2012/10/03 08:15:42, Reimar Bauer wrote: > 4 can be a constant with a name > may be that explains why it is 4 > > which decoding has the key? http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode102 MoinMoin/auth/cas.py:102: def __init__(self, auth_server, login_path="/login", logout_path="/logout", validate_path="/validate",return_logins=[]): Done On 2012/10/03 08:15:42, Reimar Bauer wrote: > such definitions like [] make troubles > > Use None and set it internal. http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode111 MoinMoin/auth/cas.py:111: kw['password']= 'bogus' Yes, it's a bogus password. It's not used, but there needs one be given for the ldap_login_func to work properly. On 2012/10/03 08:15:42, Reimar Bauer wrote: > is that a good idea to set a password? http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode125 MoinMoin/auth/cas.py:125: # url += "?action="+"".join(action) What do you mean by the url_prefix_action? On 2012/10/03 08:15:42, Reimar Bauer wrote: > we could also have an url_prefix_action > grep the code for examples how to build the url http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode149 MoinMoin/auth/cas.py:149: # remco My bad. this was where i started i fear :) I'll remove it. On 2012/10/03 08:15:42, Reimar Bauer wrote: > ?
Sign in to reply to this message.
it would be good the inserted code has exactly the same license as moin can you ask if they want to extend the license to gplv2+ http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode62 MoinMoin/auth/cas.py:62: by Massimo Di Pierro with patches from others licensed under GPL v2 On 2012/10/03 08:49:37, remco.boerma wrote: > GPLv2 the doc says > On 2012/10/03 08:15:42, Reimar Bauer wrote: > > is it GPLv2 or GPLv2+ > hmm, it should be requested if it can be also 2+ http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode68 MoinMoin/auth/cas.py:68: a,b,c = data[1].split( ':' )+[None,None] On 2012/10/03 08:49:37, remco.boerma wrote: > This is part of what i've copied and haven't changed or looked into. It works, > but i can try to find out what pylint says. > > On 2012/10/03 08:15:42, Reimar Bauer wrote: > > py.test -k test_sourcecode > > and pylint cas.py > > > > will give hints here > if it is copied, usually you make an additional changeset afterwards with improving fixing it. so that it separates the work done by different people
Sign in to reply to this message.
http://codereview.appspot.com/6593070/diff/4002/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/4002/MoinMoin/auth/cas.py#newcode62 MoinMoin/auth/cas.py:62: by Massimo Di Pierro with patches from others licensed under GPL v2 please check the license. is it GPL2 only or GPL2+? in case of GPL2 only (we need GPL2+ and should not limit to v2 only): check if you were just inspired by it and you have rewritten it for moin, so we can use it under 2+. http://codereview.appspot.com/6593070/diff/4002/MoinMoin/auth/cas.py#newcode67 MoinMoin/auth/cas.py:67: if data[0]=='yes': please read pep8 and fix the src accordingly there is also a pep8 check if you run pytest (see toplevel dir) I'll review again afterwards. :)
Sign in to reply to this message.
answered the license only 2 or only 3 is not what moin as license has it must be 2+ which means any above and 2. http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode125 MoinMoin/auth/cas.py:125: # url += "?action="+"".join(action) On 2012/10/03 08:49:37, remco.boerma wrote: > What do you mean by the url_prefix_action? see HelpOnConfiguration for example that is configured on moinmo.in. If you call there an action and look at the url you'll see what I mean. > > On 2012/10/03 08:15:42, Reimar Bauer wrote: > > we could also have an url_prefix_action > > grep the code for examples how to build the url >
Sign in to reply to this message.
Fixed more code, it's quite pylint proof. please have a look again. i've tested it with 1.9.3 as i have no 1.9.5 installation up and running. http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/1/MoinMoin/auth/cas.py#newcode68 MoinMoin/auth/cas.py:68: a,b,c = data[1].split( ':' )+[None,None] Hmm. that's gonna be hard right now. But i'll continue fixing. On 2012/10/03 09:04:41, Reimar Bauer wrote: > On 2012/10/03 08:49:37, remco.boerma wrote: > > This is part of what i've copied and haven't changed or looked into. It works, > > but i can try to find out what pylint says. > > > > On 2012/10/03 08:15:42, Reimar Bauer wrote: > > > py.test -k test_sourcecode > > > and pylint cas.py > > > > > > will give hints here > > > > if it is copied, usually you make an additional changeset afterwards with > improving fixing it. > so that it separates the work done by different people http://codereview.appspot.com/6593070/diff/4002/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/4002/MoinMoin/auth/cas.py#newcode62 MoinMoin/auth/cas.py:62: by Massimo Di Pierro with patches from others licensed under GPL v2 It's LGPL3, is that okay as well? On 2012/10/03 09:24:40, ThomasJWaldmann wrote: > please check the license. is it GPL2 only or GPL2+? > > in case of GPL2 only (we need GPL2+ and should not limit to v2 only): check if > you were just inspired by it and you have rewritten it for moin, so we can use > it under 2+. http://codereview.appspot.com/6593070/diff/4002/MoinMoin/auth/cas.py#newcode67 MoinMoin/auth/cas.py:67: if data[0]=='yes': This wasn't my code, but it's fixed. I thought i shouldn't patch it as much as to stay as close as possible to the original, but i guess that's not really needed. On 2012/10/03 09:24:40, ThomasJWaldmann wrote: > please read pep8 and fix the src accordingly > > there is also a pep8 check if you run pytest (see toplevel dir) > > I'll review again afterwards. :)
Sign in to reply to this message.
http://codereview.appspot.com/6593070/diff/4002/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/4002/MoinMoin/auth/cas.py#newcode62 MoinMoin/auth/cas.py:62: by Massimo Di Pierro with patches from others licensed under GPL v2 Not really: """ Please note that LGPLv3 is not compatible with GPLv2 by itself. However, most software released under GPLv2 allows you to use the terms of later versions of the GPL as well. When this is the case, you can use the code under GPLv3 to make the desired combination. """ But of course we don't want to restrict moin's license to gpl v3 just because of 10 lines of code. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode14 MoinMoin/auth/cas.py:14: Logging = log.getLogger(__name__) why uppercase? http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode71 MoinMoin/auth/cas.py:71: userid = data[1] # userid only, no other info considering that split() behaves like this, the code is a bit more complicated than needed: >>> "foo".split(":") ['foo'] http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode73 MoinMoin/auth/cas.py:73: return False,'' insert a space after the comma http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode80 MoinMoin/auth/cas.py:80: if len(envelop)>0: insert spaces around > fix spelling of envelope or use some other name http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode90 MoinMoin/auth/cas.py:90: value = node.childNodes[0].nodeValue.encode('utf8') i don't see any reason for encoding to utf8 here. it rather should make sure that stuff is (stays) unicode. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode100 MoinMoin/auth/cas.py:100: # return valid,username ? http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode101 MoinMoin/auth/cas.py:101: # though other values might exist in the dictionary res res? http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode107 MoinMoin/auth/cas.py:107: pass maybe log some warning at least? http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode108 MoinMoin/auth/cas.py:108: return False,'' # fallback return False, '' # fallback 1 space after comma 2 spaces before # http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode136 MoinMoin/auth/cas.py:136: Logging.info('CAS: ldap result: '+repr(ldap_responses[-1].user_obj)) put spaces around + lowercase logging http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode151 MoinMoin/auth/cas.py:151: # return self.logout(request, user_obj) don't keep all this stuff commented, either make it work or remove it. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode167 MoinMoin/auth/cas.py:167: Logging.info('CAS: valid:'+repr(valid)+', username:'+repr(username)) use %r http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode170 MoinMoin/auth/cas.py:170: Logging.info('new cas user has id: '+moin_user.id) use %s http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode178 MoinMoin/auth/cas.py:178: Logging.info('CAS: testing ldap, result.user_obj == '+repr(response.user_obj)) %r http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode183 MoinMoin/auth/cas.py:183: Logging.info('new ldap updated cas user has id: '+response.user_obj.id) %s http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode189 MoinMoin/auth/cas.py:189: Logging.info('CAS: redirecting to '+self.cas.login_url(url+'')) %s why +'' ?
Sign in to reply to this message.
Patched as requested http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode14 MoinMoin/auth/cas.py:14: Logging = log.getLogger(__name__) pylint was complaining, but it still is. it's want's it in full capitals On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > why uppercase? http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode71 MoinMoin/auth/cas.py:71: userid = data[1] # userid only, no other info On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > considering that split() behaves like this, the code is a bit more complicated > than needed: > > >>> "foo".split(":") > ['foo'] Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode73 MoinMoin/auth/cas.py:73: return False,'' On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > insert a space after the comma Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode80 MoinMoin/auth/cas.py:80: if len(envelop)>0: Fixing someone elses code here, i hadn't even seen it being wrong :) On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > insert spaces around > > > fix spelling of envelope or use some other name Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode90 MoinMoin/auth/cas.py:90: value = node.childNodes[0].nodeValue.encode('utf8') On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > i don't see any reason for encoding to utf8 here. > > it rather should make sure that stuff is (stays) unicode. Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode100 MoinMoin/auth/cas.py:100: # return valid,username explains On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > ? http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode101 MoinMoin/auth/cas.py:101: # though other values might exist in the dictionary res On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > res? Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode107 MoinMoin/auth/cas.py:107: pass On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > maybe log some warning at least? Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode108 MoinMoin/auth/cas.py:108: return False,'' # fallback On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > return False, '' # fallback > 1 space after comma > 2 spaces before # Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode136 MoinMoin/auth/cas.py:136: Logging.info('CAS: ldap result: '+repr(ldap_responses[-1].user_obj)) On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > put spaces around + > > lowercase logging Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode167 MoinMoin/auth/cas.py:167: Logging.info('CAS: valid:'+repr(valid)+', username:'+repr(username)) On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > use %r Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode170 MoinMoin/auth/cas.py:170: Logging.info('new cas user has id: '+moin_user.id) On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > use %s Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode178 MoinMoin/auth/cas.py:178: Logging.info('CAS: testing ldap, result.user_obj == '+repr(response.user_obj)) On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > %r Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode178 MoinMoin/auth/cas.py:178: Logging.info('CAS: testing ldap, result.user_obj == '+repr(response.user_obj)) On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > %r Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode183 MoinMoin/auth/cas.py:183: Logging.info('new ldap updated cas user has id: '+response.user_obj.id) On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > %s Done. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode189 MoinMoin/auth/cas.py:189: Logging.info('CAS: redirecting to '+self.cas.login_url(url+'')) Can't remember. Probably it was some error once, say None or something. On 2012/10/04 08:43:34, ThomasJWaldmann wrote: > %s > > why +'' ? Done.
Sign in to reply to this message.
License stuff. http://codereview.appspot.com/6593070/diff/4002/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/4002/MoinMoin/auth/cas.py#newcode62 MoinMoin/auth/cas.py:62: by Massimo Di Pierro with patches from others licensed under GPL v2 On 2012/10/04 08:43:33, ThomasJWaldmann wrote: > Not really: > """ > Please note that LGPLv3 is not compatible with GPLv2 by itself. However, most > software released under GPLv2 allows you to use the terms of later versions of > the GPL as well. When this is the case, you can use the code under GPLv3 to make > the desired combination. > """ > > But of course we don't want to restrict moin's license to gpl v3 just because of > 10 lines of code. After i have rewritten most if it, does it still require the license?
Sign in to reply to this message.
http://codereview.appspot.com/6593070/diff/4002/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/4002/MoinMoin/auth/cas.py#newcode62 MoinMoin/auth/cas.py:62: by Massimo Di Pierro with patches from others licensed under GPL v2 if you want to be nice, you can say you were inspired by them, but you rewrote it. but if you have rewritten most of it, i think we can just put it under our usual license as everything else. http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/9001/MoinMoin/auth/cas.py#newcode14 MoinMoin/auth/cas.py:14: Logging = log.getLogger(__name__) ah. well, seems like one needs to ignore some pylint recommendations. http://codereview.appspot.com/6593070/diff/3/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/3/MoinMoin/auth/cas.py#newcode160 MoinMoin/auth/cas.py:160: logging.info('new cas user has id: %s '% (moin_user.id)) as a general hint (please review similar cases): if you start a tuple (or list, or dict) and it yet has only one element, do it like this: (x, ) It's more regular then. http://codereview.appspot.com/6593070/diff/3/MoinMoin/auth/cas.py#newcode195 MoinMoin/auth/cas.py:195: # TODO: fix above or mention in docs hmm, I am not sure, so take this just as a wild guess: iirc openid is in a somehow similar situation, maybe have a look there how it handles such stuff.
Sign in to reply to this message.
http://codereview.appspot.com/6593070/diff/3/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/3/MoinMoin/auth/cas.py#newcode57 MoinMoin/auth/cas.py:57: Part of this code if from is http://codereview.appspot.com/6593070/diff/3/MoinMoin/auth/cas.py#newcode77 MoinMoin/auth/cas.py:77: if len(envelope) > 0: btw, if envelope is a simple list, you can also just say: if envelope:
Sign in to reply to this message.
Done as requested and more questions on the logout mech http://codereview.appspot.com/6593070/diff/3/MoinMoin/auth/cas.py File MoinMoin/auth/cas.py (right): http://codereview.appspot.com/6593070/diff/3/MoinMoin/auth/cas.py#newcode57 MoinMoin/auth/cas.py:57: Part of this code if from On 2012/10/05 08:38:10, ThomasJWaldmann wrote: > is Done. http://codereview.appspot.com/6593070/diff/3/MoinMoin/auth/cas.py#newcode77 MoinMoin/auth/cas.py:77: if len(envelope) > 0: I'm not sure if that is supported. See http://docs.python.org/library/xml.dom.html#nodelist-objects On 2012/10/05 08:38:10, ThomasJWaldmann wrote: > btw, if envelope is a simple list, you can also just say: > > if envelope: http://codereview.appspot.com/6593070/diff/3/MoinMoin/auth/cas.py#newcode160 MoinMoin/auth/cas.py:160: logging.info('new cas user has id: %s '% (moin_user.id)) If you want it that way, sure :) On 2012/10/04 10:39:42, ThomasJWaldmann wrote: > as a general hint (please review similar cases): > if you start a tuple (or list, or dict) and it yet has only one element, do it > like this: > > (x, ) > > It's more regular then. Done http://codereview.appspot.com/6593070/diff/3/MoinMoin/auth/cas.py#newcode195 MoinMoin/auth/cas.py:195: # TODO: fix above or mention in docs On 2012/10/04 10:39:42, ThomasJWaldmann wrote: > hmm, I am not sure, so take this just as a wild guess: > > iirc openid is in a somehow similar situation, maybe have a look there how it > handles such stuff. From what i can find, it doesn't handle logouts at all. Not in the 1.9.5 codebase anyway. Say i want to remove the session. How would that be done?
Sign in to reply to this message.
|