Advertisement
Guest User

Untitled

a guest
Jun 1st, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. def post():
  2. # get arguments from request body
  3. email = request.get('email')
  4. password = request.get('password')
  5. # query the user from database
  6. user = database.User.query.filter(email=email)
  7. # check the user exists, otherwise abort
  8. if not user:
  9. return abort(422, details)
  10. # check the password (bcrypt?), otherwise abort
  11. if not check_pwd(user.password, password):
  12. return abort(422, details)
  13. # create a refresh token
  14. refresh_token = randomhash()
  15. # persist refresh token as a hash
  16. database.add(database.RefreshToken(
  17. token=hash(refresh_token)
  18. ))
  19. # create a JWT access token using a secret
  20. payload = {'uid': user.id}
  21. secret = app.config.get('secret')
  22. expiry = datetime.utcnow() + timedelta(hours=2)
  23. access_token = jwt(payload, secret, expiry=expiry)
  24. # response to be enveloped
  25. return {
  26. 'accessToken': access_token,
  27. 'refreshToken': refresh_token
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement