[Catalyst] New credential -- Catalyst::Authentication::Credential::OpenID

Ashley apv at sedition.com
Thu Apr 3 05:38:15 BST 2008


Hello everybody! [Well, mostly JayK and Tatsuhiko Miyagawa].

I think I have a working modernized (to the current bleeding edge of  
the Auth system) OpenID Credential package:  
Catalyst::Authentication::Credential::OpenID. Before I work on docs  
and trying to making it tested and bomb-proof I want to check with  
all y'all.

It's based on the second generation  
Catalyst::Plugin::Authentication::Credential::OpenID from Tatsuhiko  
Miyagawa and all the new stuff from Jay Kuri.

So instead of
   $c->authenticate_openid()
you have realm based auth
   $c->authenticate({ openid_identifier => $claimed_uri }, "openid")

I considered including the legacy parts of CPA::Credential::OpenID,  
specifically authenticate_openid(), but have come out against it as  
too confusing without a big enough user base to justify it. Contrary  
arguments are welcome.

The docs and error feedback will note that the store class Null (with  
user class User::Hash) is the only built-in supported one. I plan to  
add a namespace-preserving data slurp on the OpenID stuff (though I  
haven't looked at how/where this will work so it might be wishful  
thinking for now) so that arbitrary things like Simple Registration  
will be brought in as a sub-hash-ref instead of multiple key-val  
pairs at the top of the user object. Perhaps this is where a user  
class for OpenID should happen; it would follow the OpenId spec and  
refuse to find_user unless the required fields were present.

So, that would mean the package (with two classes, credential and  
user) would be released together under the otherwise empty namespace  
Catalyst::Authentication::OpenID(???).

Also, OpenID stuff can be difficult, to put it mildly, to debug so  
I'd like to put in lots of debug statements. What is (or which module  
represents) the current best practice for per module debug handling  
so it can be toggled (in the config?)?

Related:
   http://openid.net/specs/openid-simple-registration-extension-1_0.html

Do the name change and general direction sound right?

-Ashley
-- 
PS: 바보 to that thread.




More information about the Catalyst mailing list