angularjs Web サイトのユーザー検証を行うために、expressJwt ( https://github.com/auth0/express-jwt ) を使用しています。誰でもこのページにアクセスできる URL (/username/somedata) があるという興味深い状況があります。ログインしていない場合、またはこのユーザーではない場合、パブリックとしてマークされたデータのみを取得します。ログインしていて正しいユーザーである場合、公開データと非公開データを取得します。
問題は、req.user から JWT (json Web トークン) にアクセスできるのは、/api (ログインが必要) で始まる任意のパスに限られることです...そして、このページはログインを必要としないため、落ちません。 /api の下。
/api の下にないパスで req.user へのアクセスを許可する方法はありますか? 別の考えは、データを要求して別のパスを使用する前に、ログインしているかどうかを確認することでした...
すなわち:
ログインしていない場合は常に次を使用します: /username/somedata (常に公開のみのデータ)
ログイン中: /api/username/somedata (出力する前に、ユーザーがデータの作成者であるかどうかを確認します。作成者が公開および非公開を出力する場合、それ以外の場合は公開のみ)
更新:複数のパスをテストしましたが、うまく機能していますが、別の方法で req.user にアクセスできるかどうかまだ知りたいので、まだ自分の質問には答えません。