この質問の私の目的は私のAPIを保護することです。Python/Flask - flask_httpauthとflask_restlessを使用
私のアプリケーションでは、Person
オブジェクトにFlaskとflask_restless
のAPIManager
を使用してCRUD APIを提供しています。
コードサンプル:
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'' –
私はそれを理解しました。明らかに、フラスコは、クラス名の接尾辞として文字sを追加するので、 'Person' APIの登録された関数は' personsapi0.personsapi'と呼ばれます。あなたの答えにこれを加えて、問題を解決してくれてありがとう、ありがとう。 –
'' model_route = '{0} sapi0。{0} sapi'.format(model .__ name __。lower()) ' –