問題タブ [flask-security]
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.
flask - ユーザーが別のユーザーとしてログインしているように見える
Flask-Security を使用してユーザーを管理しています。ユーザーが自分自身として正常にログインしているというレポートを受け取っていますが、ページをロードするとランダムに、まったく別のユーザーとしてログに記録されていることが示されます。どこが間違っているのかわかりません。これが起こる可能性のある方法は何ですか?
UserService を使用して簡単なユーザー管理を行います。すべてのリクエストの前にユーザー サービスをインスタンス化し、current_user に渡します。
次に、このメソッドから UserService の現在のユーザーを取得します。
これは、この API リクエスト コードが実行されると呼び出されます。
python - Flask-Security:メインのpyファイルの外でデータベースをセットアップする方法は?
Flask-Security 1.7.4 と Flask 0.10.1 を併用しています。
データベーススキームがpythonファイルに保存されている場合、ウェブサイトの実行に問題はありませんapp.py
:
ただし、次のようにコードをさらに分離したいと思います。
だから私は試しました:
でsecurity.py
:
そしてでapp.py
:
そして、次のエラーが発生します。
問題は、すべてのコードを保持していれば問題app.py
なく動作することです。もちろんデータベースも存在します。
私が間違っていることを教えてください。
ありがとう :)
flask - Flask-Security で activate_user() を実行するもの
Flask-Security のコードを調べたところ、何が datastore.activate_user() を実行するのかがわからないため、current_user.is_active は True を返しますか?
カスタム LoginForm を使用します。フォームは検証されますが、login_user は False を返します。
メインのmanage.pyからの抜粋:
ここにmodels.pyがあります
フォームを受け入れるときに自分で datastore.activate_user() を実行する必要がありますか??
python-3.x - フラスコセキュリティ拡張によるトークンベースの認証
現在、トークン ベースの認証を使用して REST API を保護する方法を探しています。私は Flask を使用して Python で API を開発しており、多くの興味深い機能を備えているように見えるフラスコセキュリティ拡張機能を発見しました。
ドキュメントに記載されている機能の 1 つは、トークン認証です。
ドキュメントによると:
トークン ベースの認証は、認証エンドポイントに対して認証の詳細を JSON データとして HTTP POST を実行してユーザー認証トークンを取得することで有効になります。このエンドポイントへの呼び出しが成功すると、ユーザーの ID とその認証トークンが返されます。このトークンは、保護されたリソースへの後続のリクエストで使用できます。
ただし、flask-security を使用してこの機能を実装する方法については、まだ少し混乱しています。いくつかのオンライン調査により、@auth_token_required などを使用するようになりましたが、すべてをまとめるのに苦労しています。フラスコセキュリティのドキュメント自体はあまり役に立ちません。
たとえば、ユーザーはどのようにして認証トークンを取得できますか? 認証エンドポイントとは何ですか?
あなたが私を正しい方向に導くことができれば、それは素晴らしいことです。コード例も素晴らしいでしょう:-)
python - 一部のメソッドが認証を必要とし、一部のメソッドが認証を必要としない場合の Flask での RESTful API の構造化
特定のオブジェクトに対して GET (リソースを要求するため) と PATCH (さまざまなインクリメンタルで非べき等な更新を実行するため) の両方を受け入れる新しい RESTful API を Flask で作成しています。問題は、パッチを適用するデータの一部は認証する必要があり、一部は認証してはならないということです。
例でこれを明確にするために、リソースがクリックされた回数とそのページが表示された回数を全員が照会できるアプリを構築しているとしましょう。また、リソースが再度クリックされたことを示す JavaScript でリソースの更新を行うこともできます (フロントエンドからのものであるため、認証されていません)。さらに、認証されたバックエンドがページが表示された回数を増やします。
したがって、RESTful の原則に従って、3 つのアクションはすべて同じパスで実行する必要があると考えています。たとえば/pages/some_page_name
、GET と PATCH の両方を受け入れ、PATCH で 2 種類のデータを受け入れる必要があります。問題は、Flask では、認証は常にメソッドの周りのデコレーターで行われるように見えるため、 のようなメソッドがある場合@app.route('/pages/<page_id>', methods=['GET', 'PATCH'])
、認証はそのメソッド全体のようなデコレーターで行われ、@auth.login_required
そのメソッドでさえ強制されることです。認証を認証する必要はありません。
したがって、私の質問は 3 つあります。
- 同じパスの下で言及されている 3 つのアクションすべてを構造化することは正しいですか? これは重要ですか?
- 私が正しく、これが重要である場合、1 種類の PATCH に対してのみ認証を要求するにはどうすればよいですか?
- これが重要でない場合、この API を構造化するためのより良い方法またはより簡単な方法は何ですか?
angularjs - ネイティブ モバイル アプリから Flask-Security にログインする方法
シングルページ アプリ用に Flask-Security をセットアップしましたが、多くの人が抱えていた CSRFToken の問題 ( Flask-Security CSRF token ) に遭遇しました。Web アプリから CSRFToken を HTML に配置し、ページをスクレイピングして見つけ、それを使用して Angular からのログイン リクエストを POST のリクエスト ヘッダーとして送信します。
これはうまくいきますが、モバイル アプリから ajax 経由で API にアクセスしている場合、API を保護する手順は何ですか? 最初にモバイル アプリからログインし、auth_token を保存し、それを後続の API 呼び出しで使用する必要があると思います。
ここでの問題.../loginページで取得し、CSRFトークンを取得し、それを使用してサーバーにログイン要求を送信し、最初に認証トークンを取得する必要がありますか?? REST を介してモバイル アプリから CSRF トークンの HTML をスクレイピングするのは、ちょっとしたスケッチのように思えます。
また、簡単に言うと、API を次のように保護する必要があるかどうかはわかりません。
また
python-2.7 - Flask Security - TemplateAssertionError:「urlencode」という名前のフィルターがありません
フラスコプロジェクトにフラスコセキュリティを追加しました。ローカルでは動作しますが、OpenShift では次のエラーが報告されます。
ライブラリのバージョンが間違っているのか、これをデバッグする方法がわかりません。これは私のsetup.pyパッケージリストです:
database-design - Flask: プロファイル写真などのファイルへのモデルの接続
問題があれば、アプリケーションで Flask-Security、Flask-SQLAlchemy、および Flask-Admin を使用します。
データベース内の行を 1 つまたは複数のファイル (たとえば、ユーザーをプロフィール写真に関連付ける) に接続できるようにするには、アプリケーションをどのように設計すればよいですか?