def login(): auth = request.authorization if not auth: return jsonify({'message': 'Authotization Not Provided!'}), 400 else: username = auth.username password = auth.password for user in users_list: if username == user.name and password == user.password: token = jwt.encode( { 'name': user.name, 'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=15) }, os.environ['SECRET_KEY']) mail = Mail( user.mail, 'Login', 'http://0.0.0.0:50/user-login?token={}'.format( token.decode('utf-8'))) mail.send() sms = SMS(user.phone, 'Someone Logged into your account') sms.send() return jsonify({'token': token.decode('utf-8')}), 200 else: return jsonify({'message': 'Username or Password is Invalid'}), 400 return jsonify({'message': 'Username or Password is Invalid'}), 400
def send(req, phone): from SMS import SMS sms = SMS("成少雷", "SMS_102315005") # 验证码 num = random.randint(10000, 99999) para = "{'number':'%d'}" % num # 阿里云服务器会修改cookie路径,需要重新吧cookie的path设置/ res = sms.send(phone, para) # 将验证码写入文件 response = Response(req) response.set_cookie('phone', phone) response.set_cookie('code', num) req.start_response("200 ok", response.header) # html = b""" <html> <head> <meta charset='utf-8'> <meta http-equiv='refresh' content='0;url=/login'> </head> <body></body> </html> """ return [html]
def checkSMS(e): global contact_addr global textMode SAY("Ok, is this correct?") SAY(e) ans = trueOrFalse() if ans: sms = SMS() sms.send([contact_addr, e]) SAY("Ok, text message sent") textMode = False else: SAY("Ok, try again") newE = listenForText() Print(newE) checkSMS(newE)
class SMSTest(unittest.TestCase): def setUp(self): lunchr.loadUrl = minimock.Mock('lunchr.loadUrl', returns='0') self.SMS = SMS('username', 'password', 'type') def tearDown(self): del self.SMS minimock.restore() def test_constructor(self): """ Tests that SMS constructor sets values properly. """ self.assertEquals('username', self.SMS.username) self.assertEquals('password', self.SMS.password) self.assertEquals('type', self.SMS.type) def test_send(self): """ Tests that SMS.send() can send an SMS. """ result = self.SMS.send('phonenumber', 'message') self.assertEquals('0', result)