Guest User

Untitled

a guest
Jan 19th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.60 KB | None | 0 0
  1. from flask import Flask, abort, flash, make_response, render_template, jsonify, request, redirect, session, url_for
  2. from flask_dance.contrib.google import make_google_blueprint, google
  3. from flask_mongoengine import MongoEngine, MongoEngineSessionInterface
  4.  
  5.  
  6. app = Flask(__name__, subdomain_matching=True)
  7. app.config.from_pyfile('flask.cfg')
  8.  
  9. db = MongoEngine(app)
  10. app.session_interface = MongoEngineSessionInterface(db)
  11.  
  12.  
  13. # Auth blueprints
  14.  
  15. google_blueprint = make_google_blueprint(
  16. client_id="*****",
  17. client_secret="****",
  18. scope=[
  19. "https://www.googleapis.com/auth/plus.me",
  20. "https://www.googleapis.com/auth/userinfo.email",
  21. ],
  22. redirect_to='auth_google'
  23. )
  24.  
  25. app.register_blueprint(google_blueprint, url_prefix="/login")
  26.  
  27.  
  28. @app.route('/google')
  29. def auth_google():
  30. if not google.authorized:
  31. return redirect(url_for("google.login"))
  32. resp = google.get("/oauth2/v2/userinfo")
  33. assert resp.ok, resp.text
  34. return "You are {email} on Google".format(email=resp.json()["email"])
  35.  
  36. Traceback (most recent call last):
  37. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask/app.py", line 2309, in __call__
  38. return self.wsgi_app(environ, start_response)
  39. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask/app.py", line 2295, in wsgi_app
  40. response = self.handle_exception(e)
  41. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask/app.py", line 1741, in handle_exception
  42. reraise(exc_type, exc_value, tb)
  43. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise
  44. raise value
  45. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app
  46. response = self.full_dispatch_request()
  47. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask/app.py", line 1815, in full_dispatch_request
  48. rv = self.handle_user_exception(e)
  49. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask/app.py", line 1718, in handle_user_exception
  50. reraise(exc_type, exc_value, tb)
  51. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise
  52. raise value
  53. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
  54. rv = self.dispatch_request()
  55. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request
  56. return self.view_functions[rule.endpoint](**req.view_args)
  57. File "/home/cesar/Development/project/services/frontend_service/app.py", line 237, in auth_google
  58. if not google.authorized:
  59. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/werkzeug/local.py", line 347, in __getattr__
  60. return getattr(self._get_current_object(), name)
  61. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask_dance/consumer/requests.py", line 129, in authorized
  62. self.load_token()
  63. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask_dance/consumer/requests.py", line 101, in load_token
  64. self._client.token = self.token
  65. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/lazy/lazy.py", line 28, in __get__
  66. value = self.__func(inst)
  67. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask_dance/consumer/requests.py", line 98, in token
  68. return self.blueprint.token
  69. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/flask_dance/consumer/base.py", line 102, in token
  70. _token["expires_in"] = expires_in.total_seconds()
  71. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/mongoengine/base/datastructures.py", line 46, in __setitem__
  72. self._mark_as_changed(key)
  73. File "/home/cesar/Development/project/services/frontend_service/venv/lib/python3.7/site-packages/mongoengine/base/datastructures.py", line 91, in _mark_as_changed
  74. if hasattr(self._instance, '_mark_as_changed'):
  75. ReferenceError: weakly-referenced object no longer exists
  76.  
  77. if not google.authorized:
  78.  
  79. # app.session_interface = app.session_interface = MongoEngineSessionInterface(db)(db)
Add Comment
Please, Sign In to add comment