0

我使用Django的包django_openid_authsnippet of code通過其OpenID認證在Django用戶。獲得通過OpenID身份驗證谷歌聯繫人在Django

這個效果很好。用戶被重定向到Google帳戶頁面以獲取權限,然後被重定向回來。

但是,這隻有服務器才能獲取用戶的電子郵件/拳頭名稱/姓氏。如果我想獲取用戶的聯繫人列表,或者甚至是合理的信息,如出生日期或頭像,那麼這是如何工作的?

我假設,因爲我通過OpenID的AX擴展獲得電子郵件/名稱,我可類似地獲得使用的Ext2擴展OAuth的信息?

我知道Google Contacts API需要OAuth身份驗證。由於我使用OpenID登錄,是否包含此OAuth身份驗證,還是必須在新的獨立進程中執行此操作?簡而言之,這個OpenID認證包括獲取聯繫人/帳戶信息的認證過程,還是我必須認證並使用單獨的過程?

使用的OpenID的機構的內部機制是django_openid_auth模塊中。

有人可以指出我正確的方向嗎?謝謝。

回答

1

我想你應該考慮使用替代的OpenID2和OAuth 1.可以與後者做的混合的OAuth2,但它更容易使用的OAuth2。我沒有注意Django的特定OAuth2庫,但Google撰寫的Python OAuth2庫是'最先進的'。它甚至有信息上使用它與Django的

https://developers.google.com/api-client-library/python/guide/aaa_oauth

這個庫可以讓你問的接觸範圍,還有userinfo.profile範圍,你是感興趣的

希望這有助於。

davep