Montag, Januar 20, 2020

HTTPError 403 (Verboten) mit Django und python-social-auth Verbindung zu Google mit OAuth2

Mit python-social-auth bekomme ich einen 403: Forbiden Fehlermeldung nach der Annahme durch den Zugriff von google

EDIT: ich habe vor kurzem (2017) hatte den gleichen Fehler, aber unter einer neuen Nachricht: 401 Client Error: Unauthorized for url: https://accounts.google.com/o/oauth2/token

InformationsquelleAutor damio | 2014-06-24

3 Kommentare

  1. 131

    Diese Antwort ist veraltet wie die Google+ – API ist als veraltet markiert, auf 3/7/19

    Müssen Sie den Google+ API, um die Liste der aktivierten APIs auf der Google Developer-Konsole (unter APIs)

    Hinweis: Wenn Sie möchten, um zu sehen, die echte Fehlermeldung, verwenden Sie die traceback-Blick auf die Inhalte der response variable (response.text). Ich benutze werkzeug für die (django-extensions + python manage.py runserver_plus).

    • Vielen Dank für Ihr kommen zurück mit der Antwort
    • Wow, große +1 für das werkzeug Zeiger. Eine ganz neue Welt des Debuggens wurde geöffnet, um mir…
    • Sie sparen mir einen Tag. Ich habe die Google+ – API selbst, die ich nur verwenden oauth2.
    • Ich noch mit einem problem wie, die. Wann bekomme ich den 403 für eine domain([email protected]) und gewährt für ein weiteres ([email protected]). Ich habe schon aktiviert Google+ – API auf. Irgendeine Idee?
    • jede chance, die man noch werfen, dieser Fehler wurde von Google Apps for Education-Konto an? (Klar, es ist schon eine Weile her, dein Kommentar.) E. g., eine k12.xx.uns oder .edu-domain. Ich denke, das ist das, was ich sehe, aber haben nicht genug Daten, um zu bestätigen. Theorie: auch mit Google+ – API aktiviert, wenn Google Apps-Administrator deaktiviert hat Google+ für Ihre Domänen-Benutzer sind, erhalten Sie diese Fehlermeldung. (Oder so.)
    • Ich habe gerade Google+ API und die Dinge begannen sich zu arbeiten :). Danke!
    • DANKE! Ich konnte nicht finden alle Dokumente zu erwähnen, über, dass, es sei denn, fand Ihre Antwort!
    • Arbeitete wie ein Charme, hoffe, dass die docs hatte diese erwähnt . Auch der richtige ist Google + API . Ich hatte versehentlich aktiviert die Google+Domains API und nicht damit es funktioniert.

  2. 15

    Dank auch. Ich war mit diesem python-social-auth tutorial von Kunst und Logik, aber konnte nicht Vergangenheit, die ein 403: Forbidden HTTPError at /komplett/google-oauth2/bis Aktivierung von Google+ API wie oben und warten Sie ein paar Minuten für Google, um es zu aktivieren.

    Außerdem hatte ich an Stelle des templates in einem template-Verzeichnis, und legen Sie
    TEMPLATE_DIRS = ('/path/to/psa_test/thirdauth/templates/',)im settings.py.

    Hoffe, das hilft jemandem auf dem Weg. Alles in allem, ist es etwa 6 Stunden, um es herauszufinden. Nicht schlecht, ich bin glücklich.

    • Verdammt. Danke. So viel. Ich habe bereits das getan, was notwendig ist, aber es noch nicht funktioniert. Alle die ich tun musste, war warten Sie ~5 Minuten, und die Magie, Sie war arbeiten.
    • Wenn Sie Zweifel haben, warten Sie 5 Minuten! Gotta love asynchrone web-Vermehrung.
  3. 2

    Für mich, ich war mit dem full-URI Umfang, die veraltet ist, die von Google von Sept 1, 2014, dies ist bereits in python-social-auth-Dokumentation hier

    http://psa.matiasaguirre.net/docs/backends/google.html#google-oauth2

    Google ist abwertend die full-url-Bereiche von Sept 1, 2014 in der Gunst der Google+ API und die kürzlich eingeführte kürzere Bereiche Namen. Aber python-social-auth bereits eingeführt, dass die Bereiche ändern bei e3525187, die veröffentlicht wurde an v0.1.24.

    Allerdings, wenn Sie nicht möchten, Aktivieren Sie die Google+ API aus irgendeinem Grund und wollen, um weiter zu arbeiten mit der vollen uri alten Umfang müssen Sie die genannten Schritte in der selben link:

    # 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

    Dieser arbeitete für mich, da ich nicht möchten, aktivieren Sie die Google+ – API an dieser Stelle.

Kostenlose Online-Tests