このレッスンは、キャンプに認証を追加するパート2です。
最初にパスポートを設定することに焦点を当てて、申し込みや登録ルートとテンプレートのロジックを追加します。
ここから始めましょう。
だから私は私のアプリUSオープンを持っているし、すでに私たちが今必要としていることは、パスポートを設定することだけです。私たちはいくつかの行を持っているので、ここではパスポートの設定だけを明確にするために行を追加します。
最初に行うことは、Expressセッションを設定することです。
だから、使用後は明示的なDaschセッションを要求し、それから我々はそれを実行するつもりです。
その中でChoireのステートメントを実行すると、オブジェクトを渡すことになり、私はそれを秘密にします。
そして、これは私たちが望む何でもよい。
Rustyは私が似たようなことをする今回のような最高のかわいい犬か何かです。
もう一度これは私達が望む何でもかまいませんが、私はもう一度やり直します。
ラスティは勝つ。
かわいい犬。
私はラッセルがちょっと気味悪くなってきていると言わなければならないが、私は彼が実際に勝つとは思わない。
もうかわいい犬。
そして、人々に彼のより古いCUPEの写真を示してください。
彼は今のような小さなソーセージだ。
[OK]をクリックすると、再保存時に追加する必要がある秘密の設定があり、それが偽であり、初期化時に保存する必要があります。
私たちがこのことを正しく綴っていることを確認してください。
False。
そして、これらは私たちが追加しなければならない2つの選択肢に過ぎず、ノートを引き続き保存し、パスポートの設定作業を行います。
これまでのところ、これはまだパスポートとは関係ありません。
私たちはそうするつもりです。 Sのパスポートを初期化し、もう1つはそのようなセッションをパスポートに使用しません。
それから私たちはパスポートを使うつもりです。ここでは、私たちがここで輸入したローカル戦略を与えています。
だから私たちは新しいローカル戦略を実行し、その中にユーザーが認証しない方法とユーザーが認証する方法を提供するつもりです。
それは、パスポートローカルマングースに付属しているものです。
私たちがこのパッケージを持っていなければ、あなた自身でそのメソッドを書く必要があります。
それからもう2つの方法があります。
Passport dot serialiseユーザー。
そして、それは、ユーザーのドットserialiseユーザーを使用することになります。これは、そのパスポートローカルマングースで無料で提供されるもう1つのユーザーです。
そして、私たちは、逐次利用者が逐次利用者を必要とすることを必要とし、それはここでは同じ名前です。
シリアライズユーザーユーザーはユーザーをシリアル化します。
OK。
それで、登録するルートに進む前に、すべての設定を行う必要があります。
すべてがうまくいくかどうかを見てみましょう。
そしてあなたは何を知っていますか？
私は最後のビデオでやったのと同じように、未初期化の間違ったものをもう一度保存して綴りましたが、これをコピーしてここに貼り付けようとしていました。
うまくいけば、あなたは私の前でそれを捕まえました。
もう一度保存して再起動してみましょう。
今、我々は何らかのエラーや警告を出すことはありません。
これですべての設定が完了しました。
これで、テンプレートに経路を追加してから、まず登録を開始する必要があります。
だから私は私たちのコメントルートと私たちのキャンプ場のルートの真下に、ここを下に、下に行くつもりです。
私はAuthで追加するつもりです。 ルート。
だから私たちはここで、そしてすぐに少し注意します。
私はこれを続けていますが、すぐにすべてのルートを別々のファイルに分割することになります。なぜなら、このコードをすべて管理するのが少し難しくなり、コードがたくさんあるからです。
はい。
最初のルートでは登録フォームが表示されます。
そしてそれはちょうど適切な現金登録を取得し、私たちはここで要求の応答を呼び出す必要があります。
そしてここにはまだ存在しない赤いレンダリングレジスタがあります。
だから今それを作成して行く。
だから使い方を触れる。
キャッシュレジスターです。
はい。
そのファイルを開いて、簡単なH1 Sign-Upを追加して、サーバーを起動してそのルートスラッシュレジスタに移動し、Sign-Up
H1を取得したことを確認しましょう。
これでフォームに追加されました。
だから、私たちはフォーラムタグを持って、フォームはスラッシュレジスタに行くつもりはまだ存在しないし、メソッドはポストになるでしょう。
テキスト名はユーザー名と同じで、プレースホルダーはユーザー名と同じであるため、最初にタイプを入力する必要があります。
次に、別の入力タイプが必要です。
これはパスワードです。
次に、名前をパスワードにして、ここにプレースホルダーを設定してパスワードを準備することもできます。
それを提出するボタンであるもう1つのアイテムは、サインアップ保存をリフレッシュするように言います。
ここに私たちのフォームがあります。
今すぐフォームを提出すれば、ポストリクエストスラッシュレジスタを送信します。
私たちは、そのルートを追加して追加することができる処理ルートを持っていません。
したがって、このルートはSign-Upロジックを処理し、その内部でスラッシュ・レジスタまたはコールバックへのポスト・ポストを持つことになります。
簡単な赤い点で始まり、サインアップして、フォームを提出するときに確認してください。
したがって、新しいルートを追加するときにサーバーを再起動する必要があります。
そして、フォームの更新に戻りましょう。
それを記入。
サインアップしてサインアップします。
OK。
そこでルートが設定されました。
さて、実際にそのユーザードットレジスタを使用するために必要なすべての重要なロジックを追加しましょう。
それはパスポートのローカルマングースパッケージによって提供されています。
だからあなたは登録しないでください。ユーザー名が割り当てられた新しいユーザーを渡し、ユーザー名はそのようなユーザー名を要求する必要があります。
そして、その後、パスワードを第2引数として渡して、登録するかどうかを決めます。
だから私たちが実際に行うことができるのはこれを別の変数にして少しだけクリーンアップし、新しいユーザーがユーザー名を持つ新しいユーザーになるということです。
そして、新しいユーザーKhamaの要求ドットボディドットパスワードに登録するつもりです。
それはフォームからのパスワードです。
これは今から見直されるべきフォームのユーザー名です。
そして、ユーザー名が割り当てられているこの新しいユーザーを渡していきます。登録すると、そのパスワードを取るすべてのロジックを処理し、実際にそのクレイジーハッシュを格納するパスワードを保存するのではなくなります。
それで、ユーザーが登録せずにコールバックを追加できるように動作するようにしましょう。
これでエラーが発生し、ユーザーとそのユーザーが新しく作成されたユーザーになります。
それが働いた場合。
では、ifエラーから始めましょう。
まあ、一定のログエラーがあります。
しかし、私たちもそれを処理したいと思っており、我々はrezレンダリングレジスタを行い、ここでは返すでしょう。
そして、それは回路を短絡して、このコールバック全体から抜け出すための良い方法です。
次に、ここでは、ローカル戦略でパスポートを認証して実行します。リクエストレスポンスでコールし、コールバック関数で処理します。
一度それが認証され、私たちがやりたいことはリダイレクトされ、今のところキャンプ場をスラッシュにリダイレクトします。
だから、ユーザーがサインアップしたら、それらをログオンして認証してから、キャンプ場をスラッシュにリダイレクトします。
私たちがしていない場合、ユーザーにサインインする際に問題が発生した場合は、エラーをログに記録し直してから、フォームを再度レンダリングします。
それでは、そのショットを出しましょう。
サーバーを起動します。
登録して記入して提出すれば提出し、キャンプ場を削るようにします。
それは事が私たちのためにうまくいったことを意味します。
ここですべてのサインアップを再開しましょう。パスワードとパスワードを再度入力すると、キャンプ場を削ることができます。
優れた。
camp V-6を使用しています。
それがうまくいくと信じることができますが、Mongoを開いてデータベースショーDigby'sに接続し、Yelp
だから私はYelpキャンプV-6を使うつもりだし、ユーザーが見つけるD-Bをやるつもりです。
そして、私たちはここで一人のユーザーが巨大なものであることを知るべきです。
それが働くことを意味することがわかったら。
だから私たちはここに新しいユーザーデータまたは新しいユーザーを作成したときに追加したユーザー名を持っています。
そして、これらのすべてがユーザデータレジスタから追加されました。
大丈夫です。
そこで、ここではすべてのControl-Cを作業して、サーバーを再起動することができます。
そして、私がフォームに戻ってセヴェラスが再びフォーラムに戻ったときに登録しようとするとどうなるか見てみましょう。
同じユーザー名でこれを行うたびに、フォームに戻ってきて、指定されたユーザー名を持つユーザーが既に登録されているというメッセージが表示されます。
だからPassport local mongooseを使って無料で入手します。
私たちは自動的にそのメッセージを受け取ります。
それは私たちの見解で、後のビデオでそれを使うことができて嬉しいです。
現在のところ、ユーザーであり、何がうまくいかないのか分からない場合には、本当にイライラする問題をユーザーに説明していないからです。
しかし、あなたは何かが働いていないことを知っています。
しかし今のところ私たちが心配しているのは、それが機能するということだけです。
だから我々は、これらの2つのレンダリングステートメントは赤いレンダリングであり、レストランはリダイレクトします。
また、登録に成功したかどうか、または既に登録されているユーザー名で設定してエラーが発生しているかどうかによって、どちらかが表示されます。
すばらしいです。
だから私たちはあなたがやりたいこと全てをやっていました。そして、次のビデオでは、ロジックとラップを処理するつもりです