私は現在、友人のサッカーチーム向けにカスタムCMSを作成しています。バックエンドにはパスポートとJWTをクライアントエンドで使用するにはどうすればよいですか?
私はデータベース(MongoDBの)と対話するAPIをしました:アーキテクチャは、次の通りです。
フロントエンドには、テンプレートエンジンのハンドルバーを使用してページを提供する高速サーバーがあります。
現在、私はPassportとJWTを使用してAPIへのリクエストを認証しています。これはログイン時にAPIを照会するのに問題ありません。ユーザーのCookieストレージにJWTを保存していますSPAではなく、ローカル/セッションストレージにアクセスできません)。
私の問題は、管理パネルへのアクセスのためにクライアント側で認証を実装する方法を苦労していることです。クライアントエンドでJWTをデコードし、ユーザーロールを読み取って、ユーザーが管理者の場合は管理者ページを表示するか、フロントエンドの管理セクションにアクセスするためのすべてのリクエストをAPIに送信する必要があります。検証チェックがファイルを提供します。
ご協力いただきますようお願い申し上げます。ありがとうございます。
返信いただきありがとうございます。認証にローカル戦略を使用する場合は、クライアントのフロントエンドから照会して投稿する保護されたAPIルートにも適していますか? – makory
@makoryはい保護されたルートのミドルウェアを作成することも、セッション上のユーザーオブジェクトのルート関数自体をチェックすることもできます。ユーザーに適切な役割があったことを確認し、適切な応答を返すことができます。 –