统一身份认证系统




class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), index=True, unique=True)
password_hash = db.Column(db.String(128))
role = db.Column(db.String(10)) # student, teacher, admin
]]>
@app.route('/login', methods=['POST'])
def login():
data = request.get_json()
user = User.query.filter_by(username=data['username']).first()
if user and check_password_hash(user.password_hash, data['password']):
token = create_access_token(identity=user.id)
return jsonify(access_token=token), 200
else:
return jsonify(error="Invalid credentials"), 401
]]>