問題タブ [symfony-4.3]
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.
jwt - LexikJWTAuthenticationBundle を使用した無効な JWT トークン
symfony4 で API を開発し、LexikJWTAuthenticationBundle でトークンを管理しています。
localhost ではすべて正常に動作しますが、私のテスト サーバー (raspbery pi、apache、https の ubuntu mate) では、サーバーから 401 エラーと無効な JWT トークンが送信されます。
readme ( https://github.com/lexik/LexikJWTAuthenticationBundle/blob/master/Resources/doc/index.md#generate-the-ssh-keys )に記載されているように、追加しようとしました
仮想ホストを構成してApacheを再起動しますが、何も変わりません。
ご協力いただきありがとうございます
symfony4 - FOS User BundleとSymfony 4を使用して、JMSシリアライザーでユーザーエンティティからパスワードフィールドを除外する方法は?
FOSUserBundle と JWT (LexikJWTAuthenticationBundle を使用) を使用して、ログイン機能を備えたシンプルな API を実装しました。すべて正常に動作し、ログインして jwt トークンを取得できます。しかし、ユーザーの詳細を取得するために API エンドポイントを作成すると、パスワード フィールドも応答で送信されます。
ユーザーの詳細を取得するためのコントローラー メソッドは次のようになります。
私のユーザーエンティティは次のようになります。
ご覧のとおり、私のSystemUser
エンティティは にあるエンティティから拡張BaseUser
されていFOSUserBundle
ます。
これは、API からユーザーの詳細を取得したときの応答 JSON の様子です。
では、応答からパスワード プロパティを除外するにはどうすればよいでしょうか。最新の Symfony 4.3 を使用しています。以前のバージョンの Symfony では、バンドル内のエンティティごとに jms シリアライザー構成を作成できましたが、Symfony 4 では大幅に変更されたため、バンドルを使用する必要がなくなり、この単純なアプリにはバンドルを使用していません。
php - Symfony4のサービスへのDoctrine-Entityの依存性注入?
DI を介してサービスにエンティティを挿入しようとしています。
Entity は、Doctrine-JSON-ODM-library ( https://github.com/dunglas/doctrine-json-odm )を介して、データベース (ユーザー要求から照会された) の JSON フィールドから作成されます。
私は通常、リクエストとリポジトリを使用して依存関係を返すコンテキストクラスを作成します(ここで説明されているようにhttps://blogs.cuttingedge.it/steven/posts/2015/code-smell-injecting-runtime-data-into -コンポーネント/ )。ただし、私の依存関係はツリー構造内の深くネストされたデータに依存しているため、これは実行可能ではないようです。
深くネストされた構造を介して作成された依存関係を解決するにはどうすればよいですか?
php - WebTestCase で JSON リクエストを行う方法
Symfony 4 をインストールしてから API Platform をインストールします。
次に、このような Test クラスを作成します
を実行する./bin/phpunit
と、エラーメッセージが表示されました
私の質問は、なぜ application/json として受信されないのですか? 適切な方法は何ですか?