resources.py 文件源码

python
阅读 31 收藏 0 点赞 0 评论 0

项目:zou 作者: cgwire 项目源码 文件源码
def post(self):
        (email, password) = self.get_arguments()
        try:
            user = auth_service.check_auth(app, email, password)
            access_token = create_access_token(identity=user["email"])
            refresh_token = create_refresh_token(identity=user["email"])
            auth_service.register_tokens(app, access_token, refresh_token)
            identity_changed.send(
                current_app._get_current_object(),
                identity=Identity(user["id"])
            )

            if is_from_browser(request.user_agent):
                response = jsonify({
                    "user": user,
                    "login": True
                })
                set_access_cookies(response, access_token)
                set_refresh_cookies(response, refresh_token)

            else:
                response = {
                    "login": True,
                    "user": user,
                    "access_token": access_token,
                    "refresh_token": refresh_token
                }

            return response
        except PersonNotFoundException:
            current_app.logger.info("User is not registered.")
            return {"login": False}, 400
        except WrongUserException:
            current_app.logger.info("User is not registered.")
            return {"login": False}, 400
        except WrongPasswordException:
            current_app.logger.info("User gave a wrong password.")
            return {"login": False}, 400
        except NoAuthStrategyConfigured:
            current_app.logger.info(
                "Authentication strategy is not properly configured."
            )
            return {"login": False}, 400
        except UnactiveUserException:
            return {
                "error": True,
                "message": "User is unactive, he cannot log in."
            }, 400
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号