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.

Reply via email to