Personal tools
You are here: Home Documentation How-tos OpenID Support
Support

Get Help

Join our chat rooms or support forums if you have more specific questions.

Plone Training
Learn how to design, build, and deploy a website in Plone through one of the numerous Plone training sessions around the world.
Find Plone training…
 
Document Actions

OpenID Support

This How-to applies to: Plone 3.0.x
This How-to is intended for: Site Administrators

This document describes how you can use OpenID with a Plone site.

Introduction

"OpenID is an open, decentralized, free framework for user-centric digital identity." (from http://openid.net)

Up to now individual web sites administrators have had to determine the policy appropriate to their site to identify their users. This has lead to proliferation of a variety of methods of authentication. Majority of the current methods of authentication require a user on the internet to remember a set of username password pairs for each site where they have a unique identity. It may not be possible to avoid storing authentication information for a site where security is a primary concern. On the other hand a Community oriented site, where membership is open to all users on the internet may find it beneficial to rely on a third party identity provider. This way the site administrators' efforts can better focused on building the site's content and identity rather than security related concerns.

OpenID proposes a system where a user sets up a unique "Identifier" in the form of a URI (i.e. johndoe.myopenid.com) at a site that will serve as their "Identity Provider". Web sites supporting OpenID use a user's URI "Identifier" to retrieve authentication credentials from the "Identity Provider". A number of internet services providers are offering OpenIDs to their customers, such as LiveJournal, AOL, Microsoft, etc.

Installing OpenID on Plone 3

You can either choose OpenID support when creating a new Plone instance in the ZMI or install OpenID using Site Setup / Add-on Products. If you added OpenID support when you were creating your Plone instance in the ZMI, and then see that it doesn't appear installed in Add-on Products, don't worry, it is and will work. You can install it there too for consistency's sake.

At this point you should try to login to your site using an OpenID. If you don't have one please follow the instructions in the next section of the how-to. If you do have one skip to the section after that.

Obtaining an OpenID

A number of current providers exist. Identity obtained from any provider will be compatible with an OpenID enabled Plone site. A list of providers is available on the openid wiki page http://openid.net/wiki/index.php/OpenIDServers If you're setting up a new Plone site and plan to support OpenID, obtain an identity since it will be invaluable when you're testing your new set up. A site or service provider you already use may be providing you with an OpenID, please check with them so that you're not inadvertently creating multiple identities for yourself. After all OpenID was created to minimize the number of usernames you were keeping.

Using OpenID with Plone 3

Browse to your Plone instance. If you were logged in, you may consider starting a second browser so that you can retain your login and test OpenID at the same time.

If you installed OpenID you'll notice the OpenID Log in portlet being displayed bellow the default Log in portlet. Both methods of authentication are available to your users. Enter your OpenID identity into the OpenID URL field and press Log in.

openid-login-portlet.jpg

Depending on the settings you chose while creating your OpenID your browser will perform authentication or it will be automatically forwarded to the authentication page hosted by your OpenID provider, where you'll be asked to enter your password. Once authentication takes place your browser will return to your Plone site and you'll see that you're logged in - your OpenID will be displayed in the upper right corner of the page.

openid-no-permissions.jpg/image_mini

At this point you may browse the site and will notice that you didn't get any new options, that's because by default the OpenID authenticated users are members of the Authenticated virtual group on your site and can do little more than manage their own personal info.

In order for OpenID users to be able to interact with the content of your site you may consider granting them the Contributor role. The Contributor role is a new feature in Plone 3 and is part of the Community workflow, the default workflow selected in a brand new Plone instance. Users with the Contributor role are able to create new content on your site, while site administrators are able to review and publish it. You may wish to assign the contributor role to the Authenticated group globally, or if you're security conscious, assign it on a particular folder. This way you'll be sure that the OpenID users are only able to create content in the location of your choice.

openid-community-folder-sharing.jpg/image_preview

Switch to the browser where you were logged in as an administrator(Manager) user, and add a new folder. Title it, "Community Content" for example, and click save. Click the Sharing tab and check the "Can add" box for Logged-in users and save.

Switch to the browser you used to login with an OpenID and refresh. You'll notice the new folder. Browse to it and you'll see that the familiar green outline appears and the Add new... menu contains the content items you can add to the folder.

openid-with-permissions.jpg/image_mini

Conclusion

You should now be able to add OpenID support to your Plone 3 site. Please consider reading other documentation on this site that will describe related subjects such as roles, permissions and security.

Software Requirements

  • Plone 3.0
  • python-openid
by Aleksandr Vladimirskiy last modified October 22, 2007 - 04:39 All content is copyright Plone Foundation and the individual contributors.

OpenID for Plone 3.0.1 for Mac OS X

Posted by Graham Perrin at September 23, 2007 - 09:49
I don't see OpenID at Site Setup / Add-on Products.

Plone 3.0.1 installed using 'Mac OS X 10.4 Install for PowerPC (includes everything you need)'.

No mention of OpenID at http://plone.org/products?getCategories=auth&getCompatibility=Plone+3.0

Please, what's my next step?

(Does the installer, as advertised, truly include 'everything you need'?)

OpenID for Plone 3.0.1 for Mac OS X

Posted by Aleksandr Vladimirskiy at September 25, 2007 - 17:36
Graham,

Thank you for your comment. In response, I've added a note for users of OS X binary packages. In the future feel free to use the available support methods described in the Support section of plone.org, such as the plone-users mailing list. You will find that your question will be answered much quicker there.

Aleksandr

OpenID support in 3.0.2 OS X installer

Posted by Kamal Gill at October 12, 2007 - 20:28
OpenID support has been added via python-openid in the 3.0.2 version of the OS X installers.

OpenId for Comments

Posted by Kevin Teague at September 26, 2007 - 23:40
It would be good to also mention how to enable OpenId authenticated folks to just add comments. This can be done by:

* Go to your particular Workflow in the ZMI (default plone_workflow)

* To enable just for Published content, choose the Published state

* On the Permissions tab, use the 'Permissions managed by this workflow' link to add the "Reply to item" permission

* Grant this permission to the Authenticated role to allow anyone with OpenId the permission to comment

* Use the "Update Security Settings" to apply this permission to existing published content.


A dummy's guide?

Posted by Carl Brewer at March 18, 2008 - 07:33
Could you elaborate on this a little? Where in the ZMI is this?
Thanks!

Why if I want to enable only "some" openID user to be contributors?

Posted by Maurizio Coppari at February 2, 2008 - 23:57
Some (well... just one to be truth) of the contributors of my website already have an openID account.
I would like to assign the contributor role to those particolar OpenID user (wich I consider real contributors), and not to all authenticated openID users (in some ways almost anonymous users).

Is there a way to do this?

Thanks
Maurizio

Granting roles to single OpenID user

Posted by Aleksandr Vladimirskiy at February 8, 2008 - 06:07
Hello,

AFAIK it is not currently possible to assign a role to a single OpenID user.

Plone OpenID Implimentation, limited utility

Posted by Romaq at March 24, 2008 - 07:35
I *want* to use OpenID, I really do. But this is somewhere between a half-step improvement over a self-id'd anon user while being useless as a 'member' user. I can't make a 'member/ reviewer/ editor' out of a specific productive OpenID user. I can't banish the jerk OpenID user without wiping out *ALL* OpenID users.

So... could someone please explain for me how OpenID makes any sense in the current Plone implimentation?

OpenID is worse than useless Unless/ Until...

Posted by Romaq at April 5, 2008 - 19:03
Plone's implimentation of OpenID is worse than useless Unless/ Until...

1) A 'table' is created in management that permits me to identify specific OpenID users I can banish, should the situation require it (default open) OR create a 'default closed' situation that will let me permit specific OpenID users access as a group.

2) Each user should have the means to *authenticate* a specific OpenID account with their member user account. That way EvilUser can't claim my OpenID, but I can validate my OpenID is really mine.

3) Anything object created by a non-member OpenID user with my freshly validated OpenID account now becomes my member property.

4) Now that I'm a member, and I have a validated OpenID... I want to use my validated OpenID for logging in now... ONLY.

5) If I'm a member with a validated OpenID login I can use, I should also be able Admin a plone site as a validated OpenID user.

Plone's current OpenID implimentation is worse than useless because until the above points are met, what you have is an 'anonymous' class you can't control or link to specific users and rolls. This 'anonymous OpenID' class has the illusion of identity without any of the benefits of identity. This needs fixed urgently.

asmith@mik-maq.com

OpenID is worse than useless Unless/ Until...

Posted by Aleksandr Vladimirskiy at April 5, 2008 - 19:28
Dear reader,

This is a how-to document about the Plone OpenID implementation current at the time of writing. Since Plone is an Open Source project you're welcomed, even encouraged to find bugs, propose new functionality, and even to contribute improvements to existing code. Please get involved by subscribing to an email list and posting your complaints there, where they would be read by the very people who created and continue to develop Plone. You can also find helpful information on the following URLs:

http://plone.org/support
http://plone.org/development/code/
http://plone.org/products/plone/roadmap
http://plone.org/products/plone/roadmap/psc_improvements_listing

Or find a local Python/Zope/Plone group and get feedback from them:

http://plone.org/events

But please don't post inflammatory, or derisive comments on documentation...

Thank you,

Aleksandr

Fair enough

Posted by R.R. Nederhoed at July 9, 2008 - 09:00
@Aleksandr sure, this is not the place to out disappointment. But this happens to be the place where some encounter the feeling; including me.

Please do understand the disappointment when Plone claims to support OpenID, you suggest a Plone solution for your company only to find out the current Plone OpenID support really is useless as a replacement for old skool member signup...

There is value in Romaq's comment. Otherwise, we would have missed the notion of features currently missing. I hope Romaq's points will find its way into the next Plone release. Thank you, Robert-Reinder.

Working on Plone 3.1.2?

Posted by Luis Miguel Braga at June 16, 2008 - 16:03
The login form and portlet appear, and I can go through the authentication with my openid provider.... but when I'm redirected back to my plone site, I'm no authenticated.

Python SSL Support now required

Posted by Luis Miguel Braga at July 17, 2008 - 16:54
looking at the zope output:

INFO Plone Python does not have SSL support. OpenID support not available

How can I accept only limited OpenID servers.

Posted by Tokio Kikuchi at August 30, 2008 - 00:37
Hi,
How can I accept only limited OpenID servers? I've customized the portal_skins/ploneopenid/openid_login_validate on ZMI but it takes no effect.
On Plone-3.1.4 UnifiedInstaller, Mac OSX 10.4.

For any issues with the web site functionality, please file a ticket.

Please consult the policy on plone.org content if you want your content published on this site.

Servers and hosting by