You will probably want to create your own user ID on your system so that users can change their OpenID providers (or even have more than one OpenID associated with their account, which is supported by many sites). But if for some reason you want to use OpenID as a unique key, I think that federated_identity()is the one you want (just by reading the documents, I never used this library). You need a full OpenID URL that is guaranteed to be unique — this includes both the URL provider part and the username part (which can be a subfolder or subdomain, etc.). Sorry, I forgot the technical terms ... some time has passed since I used OpenID.