我终于能够让python openid对用户进行身份验证,但是我无法创建sreg.SRegResponse公司或者ax.FetchResponse当他们回来的时候。这是来自一个googleapps帐户,我试图遵循https://github.com/openid/python-openid/tree/master/examples/djopenid中的示例。我听说Google的OpenID系统有点古怪,需要做一些调整,比如Retrieve OpenID AX attributes from Google / Yahoo in Rails
response = c.complete(request_args, return_to)
sreg_response = sreg.SRegResponse.fromSuccessResponse(response)
ax_response = ax.FetchResponse.fromSuccessResponse(response)
响应肯定会成功返回,但我看到以下错误消息,可能与此相关:
^{pr2}$这是我的设置。在
sreg_request = sreg.SRegRequest(optional=['email', 'nickname'],
required=['dob'])
auth_request.addExtension(sreg_request)
# Add Attribute Exchange request information.
ax_request = ax.FetchRequest()
# XXX - uses myOpenID-compatible schema values, which are
# not those listed at axschema.org.
ax_request.add(ax.AttrInfo('http://schema.openid.net/namePerson',
required=True))
ax_request.add(ax.AttrInfo('http://schema.openid.net/contact/web/default',
required=False, count=ax.UNLIMITED_VALUES))
auth_request.addExtension(ax_request)
我遇到了Google没有返回AttributeExchange的
schema.openid.net
值的问题。正如您所提到的,它没有返回任何内容,最糟糕的是,当我第一次编写OpenID处理程序时,它一直在工作。在当我在实现中切换到axschema值时,它就像一个魅力。例如:
相关问题 更多 >
编程相关推荐