我想用python flask编码Restfull API,但如何使用flask-oauthlib进行检查登录并返回Bearer令牌
带有flask-oauthlib的API,用于检查登录并返回Bearer令牌
from marshmallow import Schema, fields, pre_load, validate
from Model.DbConnect import db,ma
class Account(db.Model):
__tablename__ = 'tbl_student'
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(150), unique=True, nullable=False)
password = db.Column(db.String,nullable=False)
def __init__(self, name):
self.name = name
class AccountSchema(ma.Schema):
id=fields.Integer()
email=fields.String(required=True)
password=fields.String(required=True)
class Login(Resource):
def post(self):
data = request.get_json(force=True)
if not data:
return {'success': '0','message': 'No input data provided'}, 400
account_detail = Account.query.filter_by(email=data['email']).first()
result = account_schema.dump(account_detail).data
if not account_detail:
return {'success': '1','message': 'No email'}, 400
else:
if bcrypt.checkpw(data['password'].encode('utf8'), result['password'].encode('utf8')):`enter code here`
return {'success': '0', 'data': result,'message': 'OK'}, 200
else:
return {'success': '1','message': 'Wrong Pass'}, 400
App.py
api.add_resource(Login,'/Login')