問題タブ [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.
python - 同じディレクトリから__init__.pyとモジュールをインポートするときのpython 2.7と3.3+の違い
最近、flask-security から使用していたシグナルがPython 3.3 で期待どおりに動作しないという問題がありました。Flask-security のソース コードを調べたところ、flask-security パッケージのモジュールからインポートしていたシグナルが にもインポートされていることに気付きました__init__.py
。パッケージの最上位レベルから信号をインポートすることで、問題を解決できました (パッケージの初期化時に信号がインポートされるため)。
次のコードを実行すると:
私はTrue
python 2.7を取得False
し、python 3.3+を取得します。
このインポート動作の違いを引き起こす python 3.3+ の違いは何ですか?
編集:
私はまだpython 2.7対3.3+の問題に困惑していますが、flask.extが呼び出され、exthook.pyのExtensionImporterクラスを使用してflask-securityをインポートするときに問題が発生していることを絞り込むことができまし__init__.py
た。
python 3.4 で以下を実行するとTrue
、flask-security が拡張フックを回避して直接インポートされたときに返されます。
ここでは、flask.ext.security およびフラスコ_セキュリティの例のシグナルの repr() を示します。
python - Flask でトークン認証をどのように実装しますか?
ユーザーが別の Web サービスから自分のアカウントを使用して Flask アプリにログインできるようにしようとしています。この Web サービスの API にアクセスして、セキュリティ トークンを受け取ることができます。このトークンを使用してユーザーを認証し、制限されたビューにアクセスできるようにするにはどうすればよいですか?
ユーザーを自分のデータベースに保存する必要はありません。私はセッションのためにそれらを認証したいだけです。これは Flask-Security と @auth_token_required デコレーターを使用して実行できると思いますが、ドキュメントはあまり詳細ではなく、これを実装する方法がわかりません。
編集:
コード例を次に示します。
flask - フラスコセキュリティが不正なビューにリダイレクトするのはなぜですか
私はフラスコセキュリティを試しています...それにはたくさんの素晴らしい部分があります。私はよく理解していませんが、いくつかの風変わりな行動に出くわしました。私が見たコードからは、コードがそのように機能することは非常に意図的であるように見えますが、その根拠は理解できません。
を使用してビューを保護し@auth_token_required
、基準が満たされない場合、401 が返されます。完全に理にかなっています。
ただし、 を使用してビューを保護し@roles_required
、基準が満たされない場合、サーバーは無許可のビューにリダイレクト (302) します。
これは、なぜ両方が一貫して動作しないのか、私には意味がありません。実際、どちらの場合でも、私は 401 を望み、期待しています。
理由と、なぜこれが必要なのかを説明できる人はいますか? または、誰かが @roles_required の動作をカスタマイズする最良の方法を説明できますか?
ありがとう!
flask - Flask-Security リセットパスワード
プロジェクトで Flask-Security を使用しようとしています。私はSOで検索するかもしれませんが、パスワードのリセット機能を単純に実装する方法を見つけることができません。この場合、flask-security APi の使用方法がわかりません。
すべてのテンプレートが github にあることに気付き、ソース コードも確認しましたが、謎のようです。
パスワードのリセットを実装する方法に関するヒント、アドバイス、または例があれば、本当に親切です。
私の悪い英語でごめんなさい