2009-07-05 5 views
0

Ich würde gerne in der Lage sein zu sagen, die Website Besucher mit seiner OpenID: Sie verwenden Ihre XYZ-ID zum ersten Mal auf mysite - bitte erstellen Sie Ihre sceen Name, wo XYZ ist ein nettes Token Das macht Sinn. Zum Beispiel - XYZ könnte der Name des Anbieters sein.Erhalten Sie kurze menschenlesbare Informationen über XRI OpenID mit Python?

Ich möchte eine Lösung finden, die für OpenID funktioniert, wie im Standard definiert - d. H. Für XRI Art von ID - erweiterbare Ressource-Kennung.

URLARSE (wie von RichieHindle vorgeschlagen) funktioniert für URL-Typ openid, aber funktioniert im Allgemeinen nicht, z. für i-name IDs wie "= somename". Es gibt viele andere Formen von gültigen OpenID-Strings, die nicht einmal wie URL aussehen.

Danke.

Antwort

3

Da OpenIDs URLs sind, könnte dies die sauberste Art und Weise in der Abwesenheit von der integrierten Unterstützung in JanRain sein:

from urlparse import urlparse 
openid_str = "http://myprovider/myname" # str(openid_obj) 
parts = urlparse(openid_str) 
provider_name = parts[1] 
print (provider_name) # Prints myprovider 
+0

+1: Da es in OpenIDEnabled nichts ist das werde dies tun. –

+0

danke sieht gut aus, aber funktioniert nicht mit xri: // myprovider/myname nach OpenID-Spezifikation string möglicherweise Xri zu – Evgeny

+0

Da Sie das Schema (http, XRI, etc) nicht benötigen, können Sie es einfach abstreifen und URLParse funktioniert immer noch gut: openid_str = re (r '^ \ w +:', '', openid_str) – RichieHindle