Django 및 python-social-auth가 OAuth2로 Google에 연결하는 경우 HTTPError 403 (금지됨)
사용하여 python-social-auth
, 나는 얻을 403: Forbiden
구글의 액세스를 허용 한 후 오류 메시지가
편집 : 최근 (2017)에 동일한 오류가 있지만 새 메시지가 표시되었습니다. 401 Client Error: Unauthorized for url: https://accounts.google.com/o/oauth2/token
Google+ API가 2019 년 3 월 7 일에 지원 중단되므로이 답변은 오래되었습니다.
Google+ API
Google 개발자 콘솔 (아래 APIs
) 의 활성화 된 API 목록에을 추가해야합니다.
참고 : 실제 오류 메시지를 보려면 트레이스 백을 사용하여 response
변수 ( response.text
) 의 내용을 확인하십시오 . 나는 그것을 위해 werkzeug를 사용합니다 ( django-extensions
+ python manage.py runserver_plus
).
도 감사하다. 이 python-social-auth 튜토리얼을 art 및 logic 으로 사용했지만 위와 같이 Google+ API 를 활성화하고 Google이 활성화 할 때까지 몇 분을 기다릴 때까지 / complete / google-oauth2 /에서 403 : Forbidden HTTPError를 지나칠 수 없습니다. 그것 .
또한 템플릿 디렉토리에 템플릿을 배치하고 TEMPLATE_DIRS = ('/path/to/psa_test/thirdauth/templates/',)
settings.py에 설정해야했습니다.
이것이 누군가에게 도움이되기를 바랍니다. 대체로 알아내는 데 약 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와 최근에 도입 된 더 짧은 범위 이름을 위해 전체 URL 범위를 지원 중단합니다. 그러나 python-social-auth는 이미 v0.1.24에서 릴리스 된 e3525187에서 범위 변경을 도입했습니다.
그러나 어떤 이유로 든 Google+ API를 사용하지 않고 전체 URI 이전 범위로 계속 작업하려면 동일한 링크에 언급 된 단계를 따라야합니다.
# 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를 활성화하고 싶지 않았기 때문에 이것은 저에게 효과적이었습니다.
'your programing' 카테고리의 다른 글
C ++에서 void 포인터는 무엇입니까? (0) | 2020.10.16 |
---|---|
Python의 산점도 및 색상 매핑 (0) | 2020.10.16 |
Ruby on Rails 웹 애플리케이션에서 차트를 생성하는 데 선호하는 방법은 무엇입니까? (0) | 2020.10.16 |
원시 Python 문자열에 따옴표를 포함하는 방법 (0) | 2020.10.16 |
홈 폴더 외부의 vagrant.d (0) | 2020.10.16 |