2017-01-05 14 views
1

認証戦略が何であるか、それがどのような役割を果たしているかについての明確な説明はないようです。認証戦略とは

これは、私はそれが(私が間違っている場合は、私を修正してください)今のところかもしれないと思うものです:

各ログインタイプのための戦略(グーグル、フェイスブック、ローカルなど)があることが表示されます。

戦略が作成されてパスポートオブジェクトに追加され、パスポートオブジェクトが指定された時間に使用されるトークンに署名するために使用されます。ただし、ユーザー名とパスワードは、最初はjwtまたはパスポートで確認されません。

+0

Passport.jsは、Strategyというデザインパターンに基づいています。つまり、それぞれのケース(Google、Facebookなど)ごとに異なる戦略(クラス)を作成しています。 – Hosar

答えて

1

passportjsの認証戦略は、実際には複雑ではありません。基本的には、ユーザーの「認証」を処理します。

たとえば、Passport LocalStrategyでは、ユーザー名/パスワードを入力し、データベースをチェックして、これらの資格情報が有効かどうかを確認します。

Googleログイン/ Facebookログイン戦略のようなものでは、ユーザーはGoogleログインAPI/FacebookログインAPIを使用してユーザーをGoogle/Facebookにリダイレクトし、必要なアプリケーション権限を受け入れ、プロバイダーからのトークン。

さまざまな方法で簡単にパスポートを認証できるようにするための戦略があります。

+0

いくつか質問があります。 facebookがトークンを作成するならば、私たちのサーバーはそのトークンをローカルトークンのように保存していますか?その後、そのトークンをユーザー要求に対して検証しますか?だから、私たちの 'facebook'アプリの秘密はsecretOrKeyでしょうか?私たちがFacebookを使用する場合、facebookは有効期限を制御しませんか? – user2331566

+0

Githubのパスポート戦略では、Facebookからのアクセス/更新トークンを元に戻すことしかできないので、その時点以降のユーザーを処理する独自のコールバックを定義する必要があります。だから、その論理を書くのはあなた次第です。 – rdegges

関連する問題