· 5 years ago · Sep 29, 2020, 08:22 AM
1app = Flask(__name__)
2CORS(app)
3app.secret_key = SECRET_KEY
4login_manager = LoginManager()
5login_manager.init_app(app)
6
7
8class User(UserMixin):
9 def __init__(self, username):
10 self.id = username
11 self.username = username
12
13@login_manager.user_loader
14def load_user(username):
15 try:
16 return User(username)
17 except:
18 return None
19
20@app.route("/")
21def hello():
22 return "Hello World!"
23
24def ldapAuth(domain, username, passwd):
25 with Connection(Server(LDAP_PROVIDER_IP, port=389),
26 user = domain + "\\" + username,
27 password = passwd,
28 authentication = NTLM) as conn:
29 return conn.bind()
30
31@app.route("/api/auth", methods = ["POST"])
32def user_auth():
33 data = request.get_json()
34 username = data["login"]
35 passwd = data["passwd"]
36
37 if current_user.is_authenticated:
38 return jsonify(result=True)
39
40 if (ldapAuth(LDAP_DOMAIN_AUTH, username, passwd)):
41 login_user(User(username))
42 print(current_user.is_authenticated) //Zwraca true
43 return jsonify(result=True)
44 else:
45 return jsonify(result=False)
46
47@app.route("/api/isLogged", methods = ["GET"]) //Zawsze zwraca False
48def isLogged():
49 if current_user.is_authenticated:
50 print("logged")
51 return jsonify(result=True)
52 else:
53 print("notLogged")
54 return jsonify(result=False)
55
56@app.route("/api/logout", methods = ["GET"]) //Wiadomo wywala odrazu
57@login_required
58def logout():
59 logout_user()
60 return jsonify(result=True)