Sharing Application Logins

I am working on a design where it is highly desirable that a user can have a common login between multiple applications. Some of these applications will be instances of Drupal 7 but there will be at least one Django application and another application which will be probably be PHP-based but not Drupal.

I am reasonably sure there will be code to write. What I would like to do up-front is to find a good approach. For example, LDAP would be a possibility but that means an LDAP server. OpenID is another possibility. I would like a generic solution that would also work with shared hosting.

Thanks for your ideas.