· 4 years ago · Apr 22, 2021, 02:28 PM
1import json
2import jwt
3import datetime
4from authenticate import token_required # The token verification script
5from flask import Flask, request
6
7SECRET_KEY = "hkBxrbZ9Td4QEwgRewV6gZSVH4q78vBia4GBYuqd09SsiMsIjH"
8
9flask_app = Flask(__name__)
10
11
12@flask_app.route('/loginEndpoint', methods=['POST'])
13def loginFunction():
14 userName = request.form.get('username')
15 passWord = request.form.get('password')
16 # Generate token
17 timeLimit = datetime.datetime.utcnow() + datetime.timedelta(minutes=30) # set limit for user
18 payload = {"user_id": userName, "exp": timeLimit}
19 token = jwt.encode(payload, SECRET_KEY)
20 token2 = jwt.decode(token, SECRET_KEY)
21 return_data = {
22 "error": "0",
23 "message": "Successful",
24 "token": token.decode("UTF-8"),
25 "Elapse_time": f"{timeLimit}",
26 "token2": token2,
27 }
28 return flask_app.response_class(response=json.dumps(return_data), mimetype='application/json')
29
30
31@flask_app.route('/anEndpoint', methods=['POST'])
32@token_required # Verify token decorator
33def aWebService():
34 return_data = {
35 "error": "0",
36 "message": "You Are verified"
37 }
38 return flask_app.response_class(response=json.dumps(return_data), mimetype='application/json')
39
40
41if __name__ == "__main__":
42 flask_app.run(debug=True)
43