이 질문에 대한 나의 목적은 내 API를 보호하는 것이다.Python/Flask - flask_httpauth와 함께 flask_restless 사용
내 응용 프로그램에서 내 Person
개체에 CRUD API를 제공하기 위해 Flask와 flask_restless
의 APIManager
을 사용하고 있습니다.
코드 샘플 :
manager = APIManager(app, flask_sqlalchemy_db=db)
manager.create_api(Person, methods=['GET', 'POST', 'PATCH', 'DELETE'])
과도 같은 내 다른 경로를 보호하기 위해 flask_httpauth
를 사용하여 :
@app.route('/auth/get-token')
@auth.login_required
def get_auth_token():
token = g.user.generate_auth_token()
return jsonify({'token': token.decode('ascii'), 'fullname': g.user.fullname})
나는 그것이 응답하지 위해 apimanager
와 @auth.login_required
를 사용하는 방법을 알아낼 수 없었다 익명의 요청에 대해 설명서에서 전 처리기에 대한 내용을 읽었을뿐 아니라 @auth.login_required
데코레이터에서 사용할 방법을 찾지 못했습니다.
어떤 도움을 주시면 감사하겠습니다.
고맙습니다. 성가 시게되고 싶지는 않지만이 오류가 발생하고 무엇이 잘못되었는지 알 수 없습니다. app.view_functions [model_route] = auth.login_required (app.view_functions [model_route]) KeyError : 'personapi0.personapi'' –
Woops, 알아 냈어. 분명히 플라스크가 문자를 클래스 이름의 접미사로 추가했기 때문에 Person API의 등록 된 기능을'personsapi0.personsapi '라고 부른다. 답에 이것을 추가하고 문제를 해결해 주셔서 고마워요. –
다음과 같아야합니다 :'model_route = '{0} sapi0. {0} sapi'.format (model .__ name __. lower())' –