Users can now login with their OpenID. When it is their first login, additional details are asked using OpenID's Simple Registration Extension. These details are then cached, and are not requested again until the cache has expired. The details are also saved to the database for later retrieval. When the cache expires (and thus new details are requested), this database entry will be updated with the new details.
Furthermore, I've created Pivip_Auth, a subclass of Zend_Auth which was created because Zend_Auth could not store additional information besides the identifier. Pivip_Auth has the added method getIdentityProperties() which allows you to retrieve a Pivip_Auth_Identity object.