Laravel経験者のNestJS入門【概要:ガード】

NestJSにおけるガードに関するお勉強記録です。主に以下のページを見て学んだ内容になります。

Guards | NestJS – A progressive Node.js framework

Laravelにもあるやつですね。認証/認可を実現するのに使う機能だと思いますが、そちらのページより詳しく解説されそうなので簡単に手順だけ残しておこうと思います。上記のページだけ見てもイメージが湧きませんでした。

ガード

それでは簡単に必要な事だけ書いていきます。

ガードの作成

NestJSでは以下のコマンドでガードを作成できます。

nest g guard common/guard/auth

common/guardフォルダの下にauth.guard.tsという名前でファイルが作成されます。作られた直後の中身はこんな感じです。

ガードの割り当て

他の機能と同じようにデコレータでクラスやメソッドに割り当てます。ガードの場合は@UseGuardsを使います。1行目の様に@nest/commonからUseGuardsをインポートし、10行目の様にクラスに割り当てます。メソッドへの割り当ても出来ます。

お試し

試しにreturnの値をfalseにしてみます。

すると、こんな感じにエラーが返ってきます。本来ならこの辺りに認証/認可のロジックを書くのだと思います。

他にロールごとに処理を分けたりする方法も書かれていましたが、多分後で詳しく書かれていそうなので割愛します。一応今回のサンプルコードを置いておきます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です