Artem Melentyev wrote:
Hi, Markus.
Markus Lanthaler wrote:
> after evaluating possible frameworks I would propose to use OpenSSO [1] for
> my GSOC SSO project.
> It has full SAML 2.0 support, but lacks a bit regarding OpenID which isn't
> supported by default. There is an extension which allows OpenSSO to act as a
> OpenID 1.1 OP, but doesn't have RP support. OpenSSO has a very active and
> large community (which maybe is the strongest argument to use it). There are
> several requests for better OpenID support so I think that's a hot topic for
> them and maybe it's possible to find some other developers with whom I can
> add full OpenID 2.0 support.
>
> So now I'll start implementing RP support (authentication). As far as I
> understand the code I have to implement a XWikiAuthService analogous to the
> XWikiLDAPAuthServiceImpl, right?
> I also have some more questions :-) Let's start with OpenID (I'll start with
> that):
>
> 1.) I need to modify the login screen because I just need a field where the
> user can enter his OpenID URL, no password field. Then the user is redirect
> to his OpenID provider. How should/can I implement that?
You can change the login page (templates/login.vm). About the UI (both design and
implementation) we
can have a more detailed discussion later.
2.) OpenIDs
have to be bound to local user accounts (1:n relations, allow
more OpenIDs per account) - how should this happen? In the admin GUI? Who
should be allowed to do it?
I think 1:1 relation is sufficient. No special need for 2 sso accounts
for the same local user.
Relation can be contained in new property of XWikiUsers class. ("ssourl"
string property for example. or dblist property in case of 1:n relation)
I wouldn't add a new property to the XWikiUsers class; this leads to very thick
classes, like
XWikiPreferences, with properties used only in specific cases. I'd rather add a new
XClass, for
example XWiki.OpenIdAccount, and user profiles will have this kind of objects attached.
3.) What about
user registration? Should it be possible for users to create
accounts without password and just OpenID?
Yes. This is one of major advantages of sso. Isn't it?
This is very useful for users which want simply add some comment and
don't want to full register.
Please consider that XWiki should
also be able to act as a provider, i.e. act as an OpenID server.
I think that provide new xwiki sso account for already sso users is
useless :)
We should not provide xwiki sso accounts for sso users without password
in their xwiki user profile.
Well, I think this is about the other way around: provide SSO accounts for XWiki users, so
that
other applications can connect to XWiki. And I'm in favor of that.
Of course, as Artem said, there's no point in "mirroring" an external SSO
provider, at least not yet.
--
Sergiu Dumitriu
http://purl.org/net/sergiu/