我使用Django包django_openid_auth和这个snippet of code通过他的OpenID在Django中验证用户。
这完美无缺。用户被重定向到Google帐户页面以获取权限,然后重定向回来。
但是,这只服务器获取用户的电子邮件/拳头名称/姓氏。如果我想获得用户的联系人列表,甚至是出生日期或头像等合理信息,那该怎么办?
我认为,由于我通过OpenID AX扩展程序获取电子邮件/名称,我可以使用Ext2扩展程序同样获取OAuth信息吗?
我知道Google Contacts API需要OAuth身份验证。由于我使用OpenID登录,是否包含此OAuth身份验证,还是必须在新的单独流程中执行此操作?简而言之,这个OpenID身份验证是否包括获取联系人/帐户信息的身份验证过程,还是我必须进行身份验证并使用单独的流程?
所使用的OpenID机制的内部机制在django_openid_auth模块中。
有人能指出我正确的方向吗?谢谢。
答案 0 :(得分:1)
我认为您应该考虑使用OAuth2而不是OpenID2和OAuth 1的混合体。可以使用后者来实现,但使用OAuth2会更容易。我没有使用Django的特定OAuth2库,但Google创作的Python OAuth2库是“最先进的”。它甚至有关于使用Django
的信息https://developers.google.com/api-client-library/python/guide/aaa_oauth
此库将让您询问联系人范围以及您感兴趣的userinfo.profile范围。
希望这会有所帮助。
davep