【问题标题】:Get brief human-readable info about XRI OpenID with Python?使用 Python 获取有关 XRI OpenID 的简短人类可读信息?
【发布时间】:2009-07-05 04:11:45
【问题描述】:

我希望能够告诉带有他/她 OpenID 的网站访问者:您是第一次在 mysite 上使用您的 XYZ id - 请创建您的场景名称,其中 XYZ 是一个很好的代币,很有意义。例如 - XYZ 可以是提供者名称。

我想找到一个适用于标准中定义的 OpenID 的解决方案 - 即适用于 XRI 类型的 ID - 可扩展资源标识符。

urlparse(如 RichieHindle 所建议的)适用于 url 类型的 openid,但通常不适用,例如对于 i-name ID,例如“=somename”。还有许多其他形式的有效 OpenID 字符串甚至看起来都不像 url。

谢谢。

【问题讨论】:

    标签: python openid janrain xri


    【解决方案1】:

    由于 OpenID 是 URL,在 Janrain 没有内置支持的情况下,这可能是最简洁的方式:

    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
    

    【讨论】:

    • thanks 看起来不错,但不适用于 xri://myprovider/myname 根据 OpenID 规范字符串可能也是 xri
    • 由于您不需要该方案(http、xri 等),您可以直接剥离它,urlparse 仍然可以正常工作:openid_str = re.sub(r'^\w+:', ' ', openid_str)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    • 2015-12-14
    • 2012-06-18
    相关资源
    最近更新 更多