[英]Google OAuth2 authentication using python-social-auth on Google App Engine failed
[英]HTTPError 403 (Forbidden) with Django and python-social-auth connecting to Google with OAuth2
使用python-social-auth
,我在接受谷歌訪問后收到403: Forbiden
錯誤消息
編輯:我最近(2017)有相同的錯誤,但在一條新消息: 401 Client Error: Unauthorized for url: https://accounts.google.com/o/oauth2/token
此答案已過時,因為Google+ API已於2009年3月7日棄用
您需要將Google+ API
添加到Google Developer Console上的已啟用API列表中(在APIs
下)
注意:如果要查看真實的錯誤消息,請使用traceback查看response
變量的內容( response.text
)。 我使用werkzeug( django-extensions
+ python manage.py runserver_plus
)。
還要感謝。 我正在通過藝術和邏輯使用這個python-social-auth教程 ,但無法在/ complete / google-oauth2 /上通過403:Forbidden HTTPError,直到啟用上述Google+ API 並等待Google啟用幾分鍾它 。
另外,我必須將模板放在模板目錄中,並在settings.py中設置TEMPLATE_DIRS = ('/path/to/psa_test/thirdauth/templates/',)
。
希望這有助於一路上的人。 總而言之,花了大約6個小時來搞清楚。 還不錯,我很高興。
對我來說,我使用的是2014年9月1日Google棄用的完整URI范圍,這在python-social-auth文檔中有所提及。
http://psa.matiasaguirre.net/docs/backends/google.html#google-oauth2
Google從2014年9月1日開始棄用全網址范圍,轉而使用Google+ API和最近推出的縮短范圍名稱。 但是python-social-auth已經在e3525187引入了范圍變化,該變化發布於v0.1.24。
但是,如果您因任何原因不想啟用Google+ API並希望繼續使用完整的舊范圍,則需要按照相同鏈接中提到的步驟操作:
# Google OAuth2 (google-oauth2)
SOCIAL_AUTH_GOOGLE_OAUTH2_IGNORE_DEFAULT_SCOPE = True
SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = [
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile'
]
# Google+ SignIn (google-plus)
SOCIAL_AUTH_GOOGLE_PLUS_IGNORE_DEFAULT_SCOPE = True
SOCIAL_AUTH_GOOGLE_PLUS_SCOPE = [
'https://www.googleapis.com/auth/plus.login',
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile'
]
SOCIAL_AUTH_GOOGLE_OAUTH2_USE_DEPRECATED_API = True
SOCIAL_AUTH_GOOGLE_PLUS_USE_DEPRECATED_API = True
這對我有用,因為此時我不想啟用Google+ API。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.