Exemplo n.º 1
0
    def post(self):
        try:
            password = self.get_argument('password')
            confirm_password = self.get_argument('confirm_password')
            verify_code = self.get_argument('verify_code')
            telephone = self.get_argument('telephone')
        except MissingArgumentError:
            return self.error(MISSING_PARAMS)

        change_time = datetime.now()
        if password != confirm_password:
            return self.error(ENTERED_PASSWORD_DIFFER)

        if str(verify_code) != Verify.get_verify_code(RESET_PASSWORD_VERIFY_CODE_TYPE, telephone):
            return self.error(MISMATCHED_VERIFY_CODE)

        user = User.get_user_by_telephone(telephone)
        if not user:
            return self.error(TELEPHONE_NOT_REGISTER)

        password = encrypt_password(password)
        user.update(password=password, update_time=change_time)
        user_auth = UserAuth.get_by_user_id(user.id)
        user_auth.clear_access_token()
        notify_change_password.delay(user.id, change_time)
        return self.render({
            'status': 0,
        })
Exemplo n.º 2
0
    def post(self, *args, **kwargs):
        try:
            telephone = self.get_argument('telephone')
            password = self.get_argument('password')
        except MissingArgumentError:
            return self.error(MISSING_PARAMS)

        if not verify_telephone(telephone):
            return self.error(PHONE_NOT_RIGHT)

        password = encrypt_password(password)
        user = User.get_user_by_telephone(telephone)
        if not user:
            return self.error(TELEPHONE_NOT_REGISTER)

        if password != user.password:
            return self.error(MISMATCHED_PASSWORD)

        try:
            access_token = gen_access_token(user.id)
            UserAuth.update_access_token(user.id, access_token)
            rst = {
                'status': 0,
                'data': {
                    'user': user.jsonify(),
                    'access_token': access_token,
                },
            }
            return self.render(rst)
        except Exception as e:
            logger.error(u'用户登录失败。telephone:[%s], Error:[%s]' % (telephone, e))
            return self.error(SYSTEM_ERROR)