問題タブ [slim-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.

0 投票する
2 に答える
3380 参照

twig - Slim3 Twigでルートリンクを取得するには?

私は自分のルートを次のように定義しました:

次のような名前でルートリンクを取得することに興味があります。{% get_route('about.page') %}

どうすればこれを達成できますか?

0 投票する
1 に答える
280 参照

php - リダイレクト後にリクエストのデータをリダイレクトして保存する方法

エラーとフラッシュ メッセージが表示されたログイン ページにユーザーをリダイレクトしようとしています。

現在、私はこれをやっています:

しかし、エラー メッセージとフラッシュ メッセージが表示されたまま、ログイン ページにリダイレクトしたいと考えています。私はこの方法を試しましたが、うまくいきません:

0 投票する
2 に答える
9964 参照

php - slim-jwt-auth によるトークンの生成

JSON API のトークン ベースの認証を作成するために、slim-jwt-authを使用しています。

ドキュメントは非常に役に立ちますが、理解できないことの 1 つは、トークンがどのように生成されるのかということです。ドキュメントによると、ミドルウェアはトークンをデコードできますが、エンコードする方法がわかりません。

私が見たいくつかのプロジェクトはfirebase/jwtを使用していますが、これが必要かどうか、または と互換性があるかどうかはわかりませんslim-jwt-auth

slim-jwt-auth はトークンを生成できますか?

0 投票する
1 に答える
3337 参照

php - Slim3/DRY - コードを複製せずにエラー/例外を正しく処理するには?

私は Slim3 を使用してかなり大きな JSON API に取り組んでいます。現在、コントローラー/アクションには次のものが散らばっています。

アプリケーションの特定の時点で問題が発生する可能性があり、適切な応答が必要になります。しかし、よくあることの 1 つは、エラー応答が常に同じであることです。はstatus常にerrorであり、dataはオプションであり (フォーム検証エラーの場合dataにはそれらが含まれます) message、ユーザーまたは API の消費者に何が問題なのかを示すように設定されています。

コードの重複のにおいがします。コードの重複を減らすにはどうすればよいですか?

頭のてっぺんから考えられるのは、カスタム例外を作成することだけでした。そのようなApp\Exceptions\AppExceptionものは、オプションを取りdatamessageフォームを取得し$e->getMessage()ます。

$next次に、try/catch でラップされた呼び出しを行うミドルウェアを作成します。

これで、コード内のポイントで行う必要があるのは、throw new \App\Exceptions\AppException("Username or password incorrect", null).

これに関する私の唯一の問題は、間違った理由で例外を使用しているように感じ、デバッグが少し難しくなる可能性があることです。

重複を減らし、エラー応答をクリーンアップするための提案はありますか?

0 投票する
1 に答える
433 参照

php - 追加のミドルウェアをスリム 3 に追加して、cors で jwt 認証をブロックするのはなぜですか?

tuupola/corsを使用しているスリム 3 プロジェクトにカスタム ミドルウェアを追加する際に問題が発生し、slim-jwt-authを認証用のベアラーとしてヘッダーに格納された jwt トークンとともに使用しています。

すべてがうまくいっています。chrome から ajax リクエストを行うと、まず options リクエストを送信してアクセスが可能であることを確認してから、jwt トークンをヘッダーに Authorization: Bearer として適切なリクエストを送信するのですが、ミドルウェアをフローに追加すると、オプション リクエストが送信され、200 Ok が返されますが、実際のリクエストは送信されません。

この問題は、カスタム ミドルウェアが最小限の形式に取り下げられ、まったく変更されていない場合でも発生します。ミドルウェアは次のように定義されます。

ミドルウェア自体は次のように単純です。

ミドルウェアは、次のようにすべてのルートに追加されます。

MyMiddleware を無効にすると、オプション リクエストとフォローアップ リクエストの両方がヘッダーの jwt トークンを使用して実行されますが、MyMiddleware を有効にすると、オプション リクエストは正常に送信され、200 OK が返されますが、2 番目のリクエストは送信されません。

何が起こっているのか、どのようにデバッグするのか、私は本当に困惑しています。