この認証コードの最終回を歓迎するには、ログアウト機能を追加してから、ログインしているミドルウェアを追加して、ユーザーがロックされているかどうかを確認しますかどうか
だから私たちはそれを時間内に取得します。
ログアウトから始めましょう。ログアウトはログインまたは登録よりもはるかに簡単です。
我々は2つのルートを持つ必要はありません。
フォームは必要ありません。
私たちが望むのは単純なリンクだけです。リンクをクリックすると、現在のユーザーをログアウトまたはログアウトする必要があります。
リンクから始めましょう。
私はホームページに行って、存在しないログアウトをスラッシュへのリンクで広告を開始し、ログアウトと言うだけです。
また、まだログインしていないので、ログインするためのリンクを追加しましょう。
これをコピーしてすべてのテンプレートに貼り付けて、各ページに3つのリンクがあるようにしましょう。
OK。
さて、私たちのアドレスに戻り、ログアウトルートを処理する必要があります。
だから、スラッシュログアウトを追加してから追加する必要があります。ちょうど何かを送り返すだけで素敵で簡単に始められます。
RAZそして。
OK。
私はあなたをログアウトします。
まだありません。
そのリンクをクリックすると、これが表示されます。
私たちのサーバーを起動しましょう。
今すぐ試してログアウトしてください。ページをリフレッシュしてください。長い間ログアウトしているかどうかは関係ありません。
私たちは私たちが求めているその応答を得ます。
今私たちがする必要があるのは実際にはPassportを使って本当に簡単なユーザーをログアウトすることです。
これはログアウトするだけの簡単な行要求です。
誰かをロックアウトすると、データベース内の何かを実際に変更していないことを覚えておいてください。
そこには取引はありません。
何が起こっているのは、パスポートがセッション内のすべてのユーザーデータを破壊しているということです。
リクエストからリクエストまで、セッション内のこのユーザのデータを追跡することはもうありません。
だから私たちが救い出せたら、リダイレクトのように最後に何かが起きるようにしたい。
だから、ホームページにリダイレクトしましょう。
これはスラッシュにリダイレクトされます。
ログアウトしたら、OKをクリックしてサーバを再起動してみましょう。
だから私はリフレッシュします。私はログインすることから始めます。私は自分のパスワードをパスワードとして作成したアカウントでコルトとしてログインします。
私はログインして私は秘密のページに行きます。
さあ、ログアウトをクリックして、彼をホームページに戻してください。そうです。
だから、それはかなり単純です。
私たちはどのような形も必要としません。
これは単一のルートスラッシュログアウトであり、私たちが毎回ログアウトするのはリクエストアウトです。
そして、それは私たちのためにすべてを世話します。
それはユニット内のパスポートから来ています。ここでは、最初からログインを作成します。
実際には、このメソッドをログアウトします。
私たちは認証を書いています。
我々は登録を書くでしょう。
しかし今のところパスポートはとても簡単です。
私は問題がありますが、それは私がログアウトしてもログアウトをやめただけです。
私はまだ秘密を隠すことができます。
私がそこに着くのを止めるものは何もない。
だから私たちのコードは今私たちが署名するときに秘密を隠すように私たちを送ります。
そして、私たちがもう一度したいとき、私がサインインしていなくても私はまだそこに行くことができます。
ログアウトして、私はそれを解決するためにまだ秘密を隠すことができます。
私たちが何かをする前に、この秘密のルート上にあるミドルウェアを追加する必要があります。
ユーザーがログインしているかどうかは、ユーザーがログインしているかどうかを確認します。
ユーザーがログインしていない場合は、このテンプレートをレンダリングし、ログオンをスラッシュにリダイレクトします。
そして私たちがやることは、ミドルウェアを書くことです。
そこでここでは関数を下に定義し、この関数は呼び出されようとしています。
そして、それは3つのパラメータ要求応答と次に来る。
これは、ミドルウェア要求の標準であり、要求オブジェクトを参照します。
応答は応答オブジェクトです。
次に、実際に呼び出される必要があるのは次のものです。
そして、私たちはただちにこれをミドルウェアとして追加するだけで、これを設定する必要はありません。
Expressはそれを処理し、次に呼び出す関数を認識します。
しかしここでは機能を定義することから始めます。
したがって、ログインしているのは、リクエストが認証されているかどうかを確認することです。これはパスポートに付属するものであり、正しいことを確認しています。
認証される。
それから私たちは少し奇妙に見える次のものに戻るつもりです。
そして、私はそれに戻ってきます。
そうでなければ、私たちは何をし、私たちはここに戻ってきているので、他に何も必要ありません。
私たちがすることは、赤いフォームのスラッシュへのログインへのredstartのリダイレクトです。ミドルウェアがここにある私たちのスラッシュシークレットルートにログインすると、これを追加します。
追加する必要があるのは本当にシンプルで、ここにはログインしています。
そしてカンマ。
だからこれがするのは、リクエストがGETリクエストに入って秘密を隠すことで、それが他のことをする前にこれを実行することです。
それは彼女がこれを行うだろうログに記録されて実行されます。
チェックされるのは、それが次の返品であり、次に実行される場合に認証されたリクエストです。
それはここのかっこが何であるかです。
そして、次にここでは、ここでこれを参照します。
秘密をレンダリングする前に、ユーザーがログインしているかどうかを確認する必要があります。
これも私たちがやっていることです。
ユーザーがログインしている場合。
基本的に続ける。
あなたに沿って移動しても問題ありません。
それ以外の場合は、ユーザーが認証されていない場合は問題が発生し、ログインをスラッシュに戻します。
このコードは決して実行されません。
したがって、内部にリダイレクトされている場合はログインしています。
そして、これは起こりません。
[OK]をクリックして、サーバーを再起動します。
構文エラーがないことを確認してください。
戻り、ルートページから始めましょう。
私がログインしていないことを確認して、今私は試して、秘密を隠すようにして、自動的にログインをスラッシュにします。
それを見てください。
今はパスワード付きのログイン用パスワードです。
あなたはパスワードのログインを呼び出しました。
今私は秘密のページに行くことができます。
さて、ルートに戻って、もう一度秘密に行きましょう。私はログインしているので、私は前後に行くことができます。
私は申し込みをしたいルートに行ってから秘密に戻ることができます。
しかし、その後すぐにログアウトして、私は秘密に戻ろうとしますが、もう動作しません。
ちょうどそれを確認したり、サインアップしてみましょう。
Tatorと呼ばれる新しいアカウントを作ってみましょう。また、パスワードもパスワードになり、私たちは新しいアカウントになります。
今私は秘密を訪問することができ、その後私はログアウトすることができます。
それがセッションを破壊し、私はもはや秘密に行きません。
大丈夫。
そこで、このユーザー認証を作成するために、このシリーズで5つの異なる部分を詳しく説明しました。
そして、これは私が私たちを助けると言ったツールを使っています。
それは間違いなく事業のビットですが、それは明らかに価値があります。
ほとんどのWebアプリケーションは、私たちが見ているようにYelpが次のビデオをキャンプするため、ログインを追加することができるので、本当に恩恵を受けます。
また、ログオンの壁の後ろに物を置くだけでなく、実際にユーザーとデータを関連付けることもできます。
今は、あなたがログインしていない限り秘密のページを隠してしまいます。
しかし、キャンプは実際に特定のコメントをユーザーと関連付けるので、誰が正確にコメントをしたかを見ることはできません。
だから私がここで署名する前に戻って、私たちのミドルウェアである最も重要な部分を簡単に要約すると、ログインしたのは私たちが定義した関数です。
そして私たちが望むように多くのミドルウェアを定義することができ、それらはすべて応答と次の機能を要求するこれらの3つのパラメータを取ります。
そして、次のミドルウェアに移りたいなら、物事はうまくいきます。
ちょうどそれのように。
そして、私たちの場合、リクエストが認証されておらず、falseを返すならば、物事がうまくいかない場合、私たちは回路を短絡し、それと同様にスラッシュにリダイレクトします。
大丈夫。
うまくいけば、あなたはユーザー認証について学ぶのを楽しみにしています
私は次のビデオで会いましょう