[geeklog-devel] SoC 2009 proposal - OpenID 2.0 implementation with geeklog

Anshu Prateek ansh.prat at gmail.com
Wed Mar 25 18:42:12 EDT 2009


Full OpenID 2.0 support with Geeklog v1.

Geeklog 1.5 supports OpenID 1.1. This enables a geeklog site to be a relying
party(RP)/consumer of OpenID but not as a OpenID Povider(OP). My proposal is
to integrate the OpenID 2.0 with Geeklog. OpenID 2.0 will enable geeklog to
be used as both a RP and a OP.

The implemtation of OpenID 2.0 with a custom library is proposed. My earlier
experience as SoC 2008 student with Drupal (OpenID Attribute Exchange
Implementation) has given me an insight in the area. The new implementation
should be modular and reusable.

As of March 1, 2009, 37,517 websites are OpenID-enabled with over 500
million OpenID-enabled users. The actual number of destination sites is
quite higher since  umbrella sites like blogger, wordpress and livejournal
are counted as single sites (even though each has thousands of unique blogs
that accept OpenID).


Please tell us something about yourself (experience, interests, why you are
applying for this project).

Am a Final year student of Metallurgical and Materials Engineering at the
National Institute of Technology, Tiruchirapalli (http://www.nitt.edu).
Am a Central web-team member of the college, am responsible for development
of the college website which runs on a custom in-house built CMS.

I have participated in the soc 2008 with drupal. I worked on OpenID
Attribute Exchange Implementation with Drupal. This has given me an insight
into the working of a library for OpenID and the various issues related to
it. Am well versed with the various procedures used in OpenID transaction.
My work on attribute exchange was one of the first in the field. I would
like to further work upon in this field and help to solve the various issues
encountered in the way.

Please explain, in your own words, what the project is about and what the
goals are.

Project Proposal

OpenID is the shared identity service relieving Internet users from
remembering tons of user-names and passwords to login to various sites.
Using a openID, a user can log on to various websites supporting OpenID
using a single digital identity.The ease of openID is its being
decentralized, free and open sourced. The end user has complete control over
the amount of personal information they provide and hence it takes care of
the privacy issues concerned.

Geeklog presently supports OpenID 1.2 which allows Geeklog to be used as a
Relying Party/consumer of openID. I propose the implementation of OpenID
2.0. This will allow Geeklog to be used as a Identity Provider. So users at
geeklog can use their geeklog identity at various openID enabled
sites.(37,517 as of March 1, 2009). Also, it will enable a geeklog powered
site to join the league of various OpenID providers like Yahoo!.

Having worked with Drupal for OpenID Attribute Exchange Implentation, I
realised that there aren't many resources available to develop upon openID.
At present there are various IdP providers like Yahoo! but none of them
provide easy support to setup one's own OpenID Server. As mentioned in the
ideas list, the various libraries have different shortcomings. Hence,
hereforth I propose to write my own library for OpenID 2.0 implementation
with geeklog. This library shall allow the usage of OpenID as both a Relying
Party and a Identity Provider simultaneously. This library shall be modular
and reusable and released under GPL.


OpenID 2.0 implementation with geeklog allowing it to be used as both a
Relying Party(RP)/consumer and the Identity Provider(IdP)/ OpenID server.

OpenID integration within geeklog would be implemented using php and MySQL.

Then, please provide a (rough) schedule for your project: The order in which
you plan to implement features and an estimate how long it will take and
when they will be finished. Don't forget to leave some room for tests and

Project Schedule

Aim: To add OpenID 2.0 support to Geeklog to enable using Geeklog both as a
Relying Party and an Identity Provider.

1) To decide the database structure required to maintain the users for IdP.
Also to modify the existing database structure being used for RP.
(week 1-2)

2) To setup the IdP module independently as a modular plugin for geeklog.
(week 3-5)

3) To setup the RP module independently as a modular plugin for geeklog.
(week 6-8)

4)To integrate the above two modules into geeklog
(week 9-10)
5) Unit tests
(week 11)
6) Any changes/documentation as required
(week 12)

If there are any periods during the Summer where you will not be able to
work on your project (e.g. due to exams or planned vacations), then please
also include this information.



Anshu Prateek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist8.pair.net/pipermail/geeklog-devel/attachments/20090326/16809ed2/attachment.html>

More information about the geeklog-devel mailing list