ようこそこれを歓迎します。私たちはユーザー認証に焦点を当てています。
私の経験の著者は、学生が本当に知っていることは本当に興奮しています。なぜなら、彼女のアプリを正当なものにして、彼らを本当に使いやすく感じさせるからです。
あなたがサインアップすることができれば、あなたはログインすることができ、あなたはログアウトすることができます。
それは、それが楽しくてエキサイティングなことを教えることになります。
しかし、真実は、認証がかなり複雑であるため、教えるのも本当に難しいことです。
それを動作させるために適切な方法で一緒に収まる必要がある多くの可動部分があります。
大きな概念がたくさんあります。
正直なところ、それを動作させるためのコードがたくさんあります。
幸いにも私たちのために、すぐに安全に認証を実装するのに役立つたくさんの素晴らしいツールがあります。
今、このビデオの後半で私が安全に意味することを説明してください。
ツールの説明と認証のワークフローについて説明する前に、私は教授法の背後にある私の思考過程についていくつかの洞察を与えておきたいと思います。
それは私がそれを教えるのに多くの時間を費やしただけでなく、複数の異なる方法でそれを教えているそれらの話題の一つです。
ユーザー認証を教えているときには、選択肢があります。
そして私の選択は、全くツールを使わずに認証を一から教え、すべての重要なコンセプトの内容に焦点を合わせ、5時間6時間かかるかもしれないことを確認することでした。
それは多くのビデオの多くのレッスンかもしれません。
私たちはいくつかの学生を失うことになるかもしれませんが、我々は誰もが認証の仕組みを理解するようにします。
あるいは、既存のツールのいくつかを使用して、ユーザー認証をより簡単に、より少ないコード行で追加することができます。この問題には、すべての点があります。作業。
それを優先するのか、それとも生徒に物事を速くさせることが優先事項なのでしょうか。
それは概念的な理解と知識の深さ、あるいは物事を作ることです。
明らかに理想的な世界では、両方が欲しいでしょう。
誰もが私たちが教えるすべてのことを理解して欲しいと思っており、生徒たちに実用的な知識がたくさんあり、すぐに物事を作れるようにしたいと考えています。
過去には、私が何かを実装する前に、すべてのコンセプトを深く理解し、それがどのように働いて合っているかを教えて、私が始めたところで両方のアプローチを試みました。
そして、私はちょうど試してみるところと反対のことをやって、まず何かを働かせてから戻ってきて、それがどのように働くか話します。
そして私はこのビデオコースでどのようにアプローチしたいと思っているのか、さらに多くの時間を費やしました。私はこの講義をあまりにも多くの時間録画しました。すべてのコードを書き直しました。
それは本当に重要であり、多くの生徒が楽しみにしているので、私が正解したいものです。
だから私がしたことは、あなたが現在見ている認証で、この最初のユニットに2つのユニットを持つことです。
私はあなたに非常に簡単な概要を与えることから始めるつもりです。
深くはありませんが、認証の仕組みを簡単に概観します。
そして、私たちは私たちの生活を楽にし、コードを短くするために話したこれらのツールを使うつもりです。
すぐに使用する予定です。
そして、焦点は、機会とオプションユニットの両方を持つものを作ることにのみあります。
このコースの最後には、実際に認証を行うための深いダイビングがあります。ここでは、自分のユーザー認証を最初から実装しています。ここではツールを使用しません。目標を示します何かを作るだけで、両方の世界のベストをスタートさせることです。
そして、私はすべてのコンセプトを見渡すつもりはありませんが、私は1時間を知って、物事の仕組みについて話しています。
さて、私たちは、この大きなイデオロギーの議論をここから抜け出したので、私たちは今使っているツールを紹介したいので、パスポートというものを使うつもりです。
はい。
私たちのコードを短くして、実装をより速くすることが、人生をより簡単にするものであるため、私たちはそれを使用するだけではありません。
しかし、それは実世界で多く使われているものでもあります。
たくさんのアプリケーションがパスポートを使います。 S. その認証を実装します。
だからここにホームページを見せてあげましょう。
これはパスポートです。チャイヤはすっかり乱れていて、ちょっとしたタグラインで簡単な邪魔にならない認証があります。J米国のパスポートは、認証ミドルウェアで、非常に柔軟性があり、モジュール式のパスポートはエクスプレスベースのウェブアプリケーションに邪魔にならないようにします。
包括的な戦略のセットは、ユーザー名とパスワードFacebook Twitterなどを使用して認証をサポートします。
そして、ここには実際には300以上の異なる戦略があります。
だから戦略はさまざまな種類の認証に言及されています。ユーザー認証には、電子メールとパスワードの伝統的な認証を使用しているかどうか、または以前にサイトやサイトで見たことのあるFacebookやTwitterなどのサービスアプリケーションでは、GoogleやTwitterやFacebookからログインするように求められます。
そして実際にそれらのすべてを見ることができるより多くのものがあり、Fitbitを介してログインできるFitbitのようなものがあるので、それらを検索することができます。
GoogleにはSpotify Reddit tumblr Google plusがあります。
しかし、はるかに人気がFacebook TwitterやGoogleになるだろう。
また、ローカル認証と呼ばれるものもあります。ここでは、ユーザー名または電子メールとパスワードだけをここから始めます。
OK。
それがパスポートを使用する基本ツールです。
はい、私たちのユーザーの実装に大きな助けになるでしょう。
しかし、私はここにあるPassport localという別のパッケージを使うつもりです。
そして、これは認証のための計画または戦略の1つです。
だからパスポートがありますFacebookのパスポートTwitterのパスポートGoogleとパスポートローカルと300の異なる戦略パスポートローカルはユーザー名とパスワードのためのものです。これは私たちが始めようとしているものです。
しかし、パスポートに関して本当に素晴らしいことは、このコースの後半に、FacebookやTwitterを追加して追加することができ、ローカルでも保存できることです。アプリにログインする方法は10種類あります。
通常、あなたはそれをかなり限られたものにしたいと思っていますが、私たちはPassportを使用し、パスポートに名前を付けることによって、私たちが望むだけの数を持つことができます。
これは、このエントリーポイントをあらゆる種類の宛先に提供することに関するものです。
OK、もう1つ、Passport local mongooseと呼ばれるパッケージを使用しています。
だから私はハブを開いて、パスポートを持っています。ローカルのMongooseは、私たちがパスポートで認証を実装するのに役立つもう一つのパッケージです。それは特にマングースと一緒に働くように作られています。
だから私たちはそれを使う必要はありません。
私たちはパスポートを使うだけで逃げることができます。地元のモンゴセは、私たちがもっと速くそれを簡単にするのを手伝ってくれるでしょう。
もちろん、オプションのオフからスクラッチのセクションでは、これらのツールを一切使わずにアートをゼロから作成していきます。
OK。
だから3つの主要なツールです。
今私はあなたに、私たちが目に見えるほどエキサイティングではないことを警告する先を作るためのものを簡単にデモするつもりです。
私はそれをまったくスタイルにしなかった。
しかし、私たちはヨーフキャンプにセラフを追加する予定で、それをスタイリングしていきます。
しかし今のところこれは私があなたに見せたいベアボーンの実装です。
そこで、このホームページでは3つのボタンがありました。
ログインしてログインしている場合のみ見ることができる秘密のページスラッシュの秘密があります。
だから私が今試してみると今私はログインしていないし、ログインすると私に戻ってきて、ログインフォームを表示して登録します。秘密のページ。
だから、ユーザー名は4〜5の6段階になり、パスワードはパスワードだけになり、サインアップします。
そして今私が訪れることができる秘密を隠すために私はかかります。
そして秘密のページには、私の最初のラップトップを持っていたとき、私の第七または第八のグレードから私の細胞からひどく恥ずかしい写真があります。
ちょうどひどい。
それは明らかに秘密の秘密を明らかにしています。
そして今私がログアウトすると、私はもはや秘密を隠すことができません。それはログオンをスラッシュにリダイレクトし、私はここにログインすることもできます。
だから、私はRustiを使って、正しいパスワードを使ってパスワードを入力します。サインアップしたり、ログインして、そのような秘密に戻ってきます。私は滞在しているので、ホームページに行き、秘密を隠すことができます。ログインしました。
ですから、これがすべてのヒンジの主要概念であるという仕組みは、セッションと呼ばれるものです。
どのセッションがあるのか​​を簡単にまとめておきます。
基本的にはGTPはステートレスなプロトコルであると言われています。つまり、リクエストを送信するとそのリクエストは1回限りで、自分の履歴や前回のリクエストに関する情報は含まれません。
彼らは一緒にリンクされていません。
リクエストには1回限りのトランザクションの状態がありません。これにより、ログインしたままにしておきたいので、ユーザーをオフに実装することは本当に難しくなります。
私はサーバーにRustie 4または5
6がまだログインしていることを知りたいと思います。私たちがやる方法は、セッションとどのセッションを行うかということです。
それらはHTPをステートレスにする方法に過ぎません。
状態を提供する方法があるので、誰かがログインしているときにこのアプリケーションで行うすべてのリクエストに、そのリクエストに保存されているそのユーザーに関する情報がサーバーに送信され、実際にはユーザー名全体のユーザーパスワードではありません。
しかし、それは少しの情報であり、コード化されており、基本的に秘密にされています。
そしてそれは私のサーバーに到着し、パスポートはそれを見て、それが基本的にコードを解読するか、暗号化されていないことを理解し、誰かがログインしているかどうかを知るためにその情報を使用します。
実装を追加すると、これはより意味をなさないでしょう。
しかし、キーコンセプトは、セッションではHTPリクエストに状態を持たせることができるということです。
だから私はデータを送ることができます。
私はホームページに戻ることができます。それはまだ私がRustie 4 5
6としてログインしていることを知っています。問題なく秘密に戻ることができます。
それは、私がリクエストをするたびに、私がログインしているRustieの4人の5人の6人の情報を送信しているからです。
そして、すぐに私がログアウトすると、その情報がなくなります。
だから今私が秘密を隠すために行くとき、セッションにユーザーがいなければ、その人がそのような秘密に行くことを許さないという論理を持っています。
ログオンをスラッシュにリダイレクトします。
OK。
だから、私たちが実際にこの簡単なアプリケーションを作成し、セッションを実装して私たちのセッションに助けを求めるときに、次のビデオでもっと詳しく説明します。
Expressセッションと呼ばれるパッケージを使用して、次のビデオでも見ていきます。
それでは、今すぐ紹介したいのはこれだけです。
そこでPassport
Jを地元のスキームとして使用し、Passportのローカルマングースモジュールやパッケージを使用して、ユーザー認証をかなり迅速かつ比較的簡単に実装するのに役立ちます。次のビデオにシンプルなアプリ。
そして、この作業が完了したら、キャンプに戻ってユーザー認証を実装します。
さて、私は次のビデオで見ていきます