Yeah so in that case you'll just need to catch the name of the OpenID server from the request to accomplish what you want. I guess that does make a lot more sense than what he does. The only thing I would say is that without that internal user mapping the e-mail notifications and such may not work properly... I'm not sure how that works.
So if you put your name in the CC list, how would that work with OpenID? I guess you can copy and paste your login name. -Nelson On Sun, Dec 11, 2011 at 9:55 PM, Olemis Lang <ole...@gmail.com> wrote: > On Sat, Dec 10, 2011 at 12:40 PM, Nelson Brown <brown...@gmail.com> wrote: > > Hi Olemis, > > > > Hi! > :) > > > So I don't have much of any experience with writing authentication > schemes > > using OpenID. I do, however, find it interesting so I poked around a > little > > bit and I'll share with you some of my thoughts. > > > > thnx ! > > [...] > > So I believe from what I read that you need to create a mapping of > OpenID > > authentications (many, Google, Yahoo, some custom service, etc) to > exactly > > one internal Trac user. See the reference here. [1] > > > > This is not exactly the way I was thinking of mainly because I knew > this was not supported by the plugin and it's a bit time-consuming to > implement all this ... :-/ > However thnx for sharing that article > > > If you look at the Wiki for OpenID authentication plugin [2], he > mentions > > the following: > > > > # You can use this option to map your OpenIDs to internal username. > > #check_list = http://your.site.com/openidallow > > #check_list_key = check_list > > #check_list_username= > > > > Ok , but that's not exactly what I was looking for ... > > [...] > > > > The part that does the name mangling in case the username is the same > as > > an authenticated name appears to be on line 590 in [4]. > > > > {{{ > > def authnames(base): > > yield base > > for attempt in itertools.count(2): > > yield "%s (%d)" % (base, attempt) > > > > for authname in authnames(authname): > > ds = DetachedSession(self.env, authname) > > if ds.last_visit == 0 and len(ds) == 0: > > # At least in 0.12.2, this mean no session > exists. > > break > > ds_identity = > > ds.get(self.openid_session_identity_url_key) > > if ds_identity == info.identity_url: > > # No collision > > break > > }}} > > > > ... this is it ! > Briefly what happens is that the plugin only offers this simple method > to bind OpenId logins to local usernames . It's lacking some binding > mechanisms like those mentioned in aforementioned reference [1]_ . I > plan to introduce an interface to implement custom binding algorithms, > I'll refactor plugin code a little, then prepare a patch and submit it > to package owner . I'll let you know once I have something ready > ;) > > > Hope any of this helped, or I'm sorry if it led you off the trail. > > > > Sure . Thnx very much ! > > > [1] http://www.plaxo.com/api/openid_recipe > > [2] https://bitbucket.org/Dalius/authopenid-plugin/wiki/Home > > [3] http://pypi.python.org/pypi/simplejson/ > > [4] > https://bitbucket.org/Dalius/authopenid-plugin/src/ebcf176ff6e3/authopenid/authopenid.py > > > > -- > > Regards, > > Olemis > > Facebook => http://www.facebook.com/olemis > Twitter => http://www.twitter.com/olemislc (@olemislc) > Blog ES => http://simelo-es.blogspot.com > Blog EN => http://simelo-en.blogspot.com > Quora => http://www.quora.com/olemis > Youtube => http://youtube.com/user/greatsoftw > > Get a signature like this. CLICK HERE. > > -- > You received this message because you are subscribed to the Google Groups > "Trac Users" group. > To post to this group, send email to trac-users@googlegroups.com. > To unsubscribe from this group, send email to > trac-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/trac-users?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Trac Users" group. To post to this group, send email to trac-users@googlegroups.com. To unsubscribe from this group, send email to trac-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/trac-users?hl=en.