如何将Flask Authlib与Laravel Passport结合使用

时间:2019-10-22 09:47:15

标签: laravel-passport flask-oauthlib

我想用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')

0 个答案:

没有答案