Skip to main content

Kohsuke's Experimental OpenID Provider Service

Posted by editor on September 22, 2009 at 5:38 AM PDT

Kohsuke Kawaguchi has created an OpenID provider service for users. Kohsuke talks about his creation in his featured blog post, Project of the day: OpenID for

If you're unfamiliar with OpenID, the Wikipedia definition provides a good introduction:

OpenID is an open, decentralized standard for authenticating users which can be used for access control, allowing users to log on to different services with the same digital identity where these services trust the authentication body. OpenID replaces the common login process that uses a login-name and a password, by allowing a user to log in once and gain access to the resources of multiple software systems.

An OpenID is a URL that identifies you. Many large web sites offer members an OpenID, including AOL, FaceBook, MySpace, Yahoo!, Google, Flickr, and VeriSign. For these sites, your OpenID URL is typically a location on the site combined with your user name.

Why did Kohsuke take the time to do this? On the test site, he explains:

While this can be used to let you login to any web sites that support OpenID as an identity, the primary use case is to enable projects on to host additional tools externally on their own, but still use for authentication, for better integration. That is, such peripheral systems can follow the OpenID protocol and request the user to sign in by using their OpenID (and if necessary, you can check their committer status against your project by using libraries like tasks.

In his blog post, Kohsuke adds:

The real motivation of this service is to host "peripheral" systems and services on top of those that are provided by For example, if you want to run your own JIRA, JIVE forum, Trac, or Wiki for your project, it'll be more convenient if those services delegate authentication to In this way, you can correlate users on those peripheral systems to the users on This also allows you to perform authorization based on their project roles (for example, you can only allow certain operations to committers of your project.)

While his experimental OpenID service is not currently endorsed by, Kohsuke's working on that.

For more information about OpenID, visit the OpenID Foundation web site.

JavaTools Community Newsletter #203 announces that the scalalab project has graduated (meaning that it reached its first release). Subtitled "Java in a scientific environment," the scalalab project:

aims to provide an efficient scientific programming environment for the Java Virtual Machine. The scripting language is based on the Scala programming language enhanced with high level scientific operators and with an integrated environment that provides Matlab-like working style. Also, all the numerous libraries of Java scientific code can be easily accessed. The potential of the scalalab is speed and flexibility.

Java Champion Yakov Fain has started a new podcast site, No BS IT, subtitled "Enterprise Software Development Without The BS." The announcement on the Java Champions site notes that

Yakov's podcasts are 10min in length; launched in August, 2009; has 5 podcasts completed with interesting titles like: "How I was developing a Web Site in India"; "Cultural Differences in outsourcing"; and, "IT Outsourcing Take 1".

Peligri announced GlassFish and Hudson at Oracle OpenWorld:

is October 11th to 15th, at San Francisco's Moscone Center
(Bird's eye). We currently have scheduled two informal presentations during their

• Creating Quick and Powerful Web applications with Oracle, GlassFish and NetBeans/Eclipse

  Mon, Oct 12, 11am PT - Overlook I

• Hudson community meet up

  Tue, Oct 13, 9am PT - Overlook I

In today's Weblogs, I'm featuring Java Champion Adam Bien's new post Abstract, If, Impl, Default, Bean Conventions - Just for Lazy Developers:

Using the prefix "abstract" to mark abstract classes is more a workaround or a shortcoming, than a best practice. Even worse is the introduction of naming conventions for interfaces with the only purpose: avoidance of interface naming collisions with their implementations. The convention "Default" is superfluous as well (what is "Default"?). Even the Remote and Local, Bean suffixes for EJBs are no more that interesting - the Beans are already annotated with the corresponding annotations...

Kohsuke Kawaguchi announced a new Project of the day: OpenID for

I wrote and deployed an OpenID provider service for users. For those who are new to OpenIDs, this service allows users to log in to other sites by using the ID as the identity (for example, try Stack Overflow.) This eliminates the need to maintain separate passwords for each site, among other things...

And Masoud Kalili talks about Using dynamically generated JFreeChart's charts and JasperReports:

If you are reading this blog it means you want to use JasperReport with dynamically programmatically generated images. An example of such use cases in generating complex charts using JFreeChart and then including these charts into reports. Each report in JasperReport uses a datasource to populate the fields, we need to use JRBeanCollectionDataSource which can be considered as a simple collection of JavaBeans. Each object in the JRBeanCollectionDataSource can be used to populate one row of the report or it can be used to prepare calculated values and so on...

In the Forums, Paulo Cesar Reis has a question regarding a Glassfish ejb project with ejb-client dependency: "Hi all, I have a doubt! I¹ve created a EJB3 module (deployed on glassfish) and I used the ejb-client of this module in another EJB3 project. So I got so far: . EJB Module A - DoSomething EJB Stateless ..."

Felipe Gaucho asks Jetty ?: "what is the web server of Glassfish V3 ? Jetty? Tomcat? other? -- Looking for a client application for this service..."

And johnyjj2 has a communication midlet - servlet question: "Hello! I'd like to create application in Java for mobile phone which can communicate with the user and based on this communication create little text file. I want to send this text file from mobile phone to server. Is it possible to..."

Our current Spotlight is the new Janice Heiss interview with "Java Champion Kirk Pepperdine on Performance Tuning and Cloud Computing": " (JSC): In your talks, you always warn developers that they must carefully evaluate any generic advice that you provide to see if it applies to a particular situation. Why is this so important? Pepperdine: While I do give generic advice, I carefully explain that people have to evaluate it to see if it will work. I am giving advice in a vacuum, so what may work for many people most of the time may be very detrimental in other contexts. I don't know in advance what specific problem someone is working on..."

The current Poll, which was submitted by Geertjan Wielenga, asks "What's your opinion of 'the Cloud'?" The poll will run through Thursday.

Our Feature Articles include Jeff Lowery's A Finite State Machine Supporting Concurrent States, which demonstrates how Java enums and EnumSets can be used as a basis to define and validate application states and state transitions. We're also featuring Jeff Friesen's article Introducing Custom Paints to JavaFX, which shows how you can leverage undocumented JavaFX capabilities to support custom paints in JavaFX Version 1.2.

The latest Java Mobility Podcast is Java Mobile Podcast 87: Tranqueira project used LWUIT: "Eloi Junior from Brazil has just opened the Tranqueira project and shares his experience in using LWUIT."

Current and upcoming Java Events:

Registered users can submit event listings for the Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.

Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of it will be archived along with other past issues in the Archive.

-- Kevin Farnham

O'Reilly Media

Related Topics >>