1
응용 프로그램의 API 부분에 Flask Restless 0.17 및 Flask JWT를 사용하고 있습니다. 어플리케이션 프론트 엔드에서는 Flask WTF와 CSRF 보호 기능을 사용하고 있습니다.Flask Restless CSRF 면제 인증 URL
이것은 Flask와 관련된 문제입니다. WTF는 모든보기에서 CSRF 토큰을 기대하기 때문에 불안합니다. API의 청사진을 면제 해 작성한 엔드 포인트에서이 문제를 해결할 수 있지만 Flask JWT created/auth URL에이를 적용하는 방법을 알 수는 없습니다.
API의시 초기화 : 나는 위처럼 작업을 수행하는 방법을 알아낼 수
def init_app(app):
def authenticate(username, password):
user = User.query.filter_by(username=username).scalar()
if user and username == user.username and \
User.check_password(user, password):
return user
return None
def load_user(payload):
user = User.query.filter_by(id=payload['identity']).scalar()
return user
jwt = JWT(app, authenticate, load_user)
@jwt_required()
def auth_func(**kw):
pass
manager = flask_restless.APIManager(app, flask_sqlalchemy_db=db)
bp = manager.create_api_blueprint(
MyModel,
methods=['GET'],
url_prefix='/api/v1',
preprocessors=dict(GET_SINGLE=[auth_func],
GET_MANY=[auth_func]),
results_per_page=10,
)
# Here I can exempt this API endpoint.
# But how do I exempt /auth which is created by Flask JWT?
csrf_protect.exempt(bp)
app.register_blueprint(bp)