1

Express 4.x で作成したアプリケーションに問題があります。呼び出されたルートをチェックする認証ミドルウェアがあり、パラメータなしでルートを取得したいのですが ...

例 :

このルートを宣言しました: /authentication/newPassword/:token request.path がこの特定のルートと一致するかどうかを知りたいです...

これは私のURLです:/authenticate/newPassword/XRlIjoiMjAxOC0wOC0xM1QwOTNzo1Mi43ODBaIn0=

だから私はさまざまな変数を探していました:

req.path         // /authenticate/newPassword/XRlIjoiMjAxOC0wOC0xM1QwOTNzo1Mi43ODBaIn0=
req.originalUrl  // /authenticate/newPassword/XRlIjoiMjAxOC0wOC0xM1QwOTNzo1Mi43ODBaIn0=
req.url          // /authenticate/newPassword/XRlIjoiMjAxOC0wOC0xM1QwOTNzo1Mi43ODBaIn0=
req.pathname     // undefined

私はグーグルを見ていましたが、パスを知るために.refersを使用してreq.headersの使用に誰かが答えているのを見ましたが、私の明示的なアプリケーションはAPIであり、他のURLの他のアプリケーションによって呼び出されるため、リファラーは適切なものと一致しませんURL

次のように正規表現を使用して問題の解決策を見つけました。

const pathOk = /\/authenticate\/newPassword\/.+/;
if(pathOk.test(req.path)) { //Continue the middleware ...

だから私の質問は簡単です、ExpressまたはNodeにそのようなものを作る何かがありますか:

if (req.{something like path} == '/authentication/newPassword/:token') {

回答ありがとうございます。

4

1 に答える 1