問題タブ [flask-jwt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Flask の内部リダイレクト
要するに:
Flask マイクロ フレームワーク(およびその依存関係)のみを使用して、あるルートから別のルートへの内部リダイレクトを実行できますか?
例えば:
- ユーザーは登録フォーム (
username
との両方password
) を に送信します。@app.route('/register', methods=['POST'])
- 登録が成功すると、Flask は内部的に HTTP POST を実行し
@app.route('/login', methods['POST'])
てusername
、password
- ユーザーの処理とログイン
詳細:
FlaskとFlask-JWT拡張機能を使用して REST API を構築しています。具体的には、ログインと登録を実装しています。
ログインは完全に機能し、トークンを含む JSON オブジェクトを返します。
以下は私の(ログイン)認証ハンドラーです(つまり/auth
、(POSTリクエスト)-デフォルトのFlask-JWT認証URLルール):
ログインに成功すると、次が返されます。
以下は私の登録ルートです:
flask - Flask-jwt および Flask-resftul エラー処理
私はflask-jwtとflask -restfulを使用しています
これは、flask-jwt がエラーを処理する方法 (github リポジトリから取得) ですが、JWTError のパラメーターを取得できるものはありません。
以下は、JWTErrorを処理しようとするさまざまな方法です
フラスコ内:
フラスコ安静時 (handle_error)
フラスコ安静時 (error_router)
python - Flask-restful API 認証。デコレーター内の current_identity にアクセスする
私はフラスコ・レストフルを使って API を作成しています。flask-jwt
に基づいて認証を有効にするために使用しましたJWT
。次に、承認を行う必要があります。
認証デコレータを入れてみました。
test.py (/テスト API)
基本的に基本的な承認を処理するには、アクセスcurrent_identity
してそのタイプを確認する必要があります。次に、そのタイプに基づいて、ユーザーが API / リソースへのアクセスを許可されているかどうかを判断します。
しかし、そのデコレータにあるcurrent_identity
ようです。empty
したがって、間接的に取得するには、コードを見て、jwt_handler
そこで行われたことを実行する必要がありました。
authentication_helper.py
デコレータcurrent_identity
でアクセスできないのはなぜですか? authorized_api_user_type
フラスコレストフルで承認を行う正しい方法は何ですか?
python - Flask-JWT の認証 URL の Apidoc
apidoc
REST API ドキュメントの生成に使用し始めました。私はそれでさまざまなことを試しました。
私のflask
ベースのAPIアプリケーションではJWT
、認証に(特にflask-jwt)を使用しています。ドキュメントは正しく生成されますが、ドキュメントからのリクエストは正しく行われません。
これはdocsting
、ドキュメントを生成するために配置した場所です
ドキュメントを生成すると、適切に生成されます
- しかし、生成されたドキュメントから認証情報を渡すと、リクエストは失敗します。フラスコのリクエストで取得したリクエストデータは
''
(空)です Content-Type
docstring にヘッダーを含めた後でも失敗します。フラスコのリクエストで取得するリクエストデータはusername=test@example.com&password=test123
Flask-JWTのコードにデバッグポイントを入れることで上記を確認しました
しかし、それを使用して同じリクエストを行うと、postman
適切に行われます。
私は何を取りこぼしたか?
angularjs - Flask jwt 認証エンドポイントが 400 を返す
現在、小さなアプリケーションを作成していて、問題が発生しました。ユーザーがトークンを取得して、Python で公開されている API にアクセスできるようにするために、フラスコ jwt モジュールを使用しています。フロントエンド開発に angularjs を使用しています。API が存在するサーバーにログインしようとすると、400 エラーが返されます
ドキュメントによると、資格情報を認証エンドポイントに渡すだけで、ページに示されているようにトークンを取得できるはずです: https://pythonhosted.org/Flask-JWT/
これが私の現在のアプリサーバーの実装です:
ここに私のangularjsの実装があります:
Pythonコードを実行するサーバーでデバッグモードを設定しましたが、400が返されます
python - ユーザー オブジェクトは呼び出し可能ではありません
現在、flask-jwt ライブラリhttps://github.com/mattupstate/flask-jwtとフラスコ sqlalchemy を使用しています。ヘッダーに認証トークンを渡すと、というエラーが表示されますUser object is not callable
。私はここで与えられた例に従いましたhttps://pythonhosted.org/Flask-JWT/ sqlalchemy モデルと引き換えにモデルを切り替えます。サンプル コードは User オブジェクトを返しますが、sqlalchemy に切り替えるとエラーが発生します。
これが私のモデルです:
ここで失敗します:
ペイロードとユーザーの両方が出力されていることがわかります。これが出力です。