2017-11-13 5 views
-2

私は、Angular 4をフロントエンドとして使用し、MongoDBをデータベースとして使用します。 APIを作成するためにExpressを使用しました。今は、ログインを除いてすべてのAPIを認証し、権限のないユーザーがAPIにヒットするのを防ぐために登録する必要があります。Express APIを認証する最善の方法は何ですか?

は、私はこの種の認証に新しいですし、私はそのようなJWTなどpassport.js、として利用可能な方法の多くは、私が認証するための最善の方法を選択することは非常に混乱していました。だから、いくつかのインプットを与えて最高のものを選んでください。

注:アプリケーションは、金融プロジェクトとは関係ありません。したがって、高い安全性を必要としません。

+1

それは安全性の高いレベルを必要としない場合は、なぜあなたは最適な1気にしていますか?ただあなたが望むものを選んでください。 – JJJ

+0

何を気にかけていますか?どのように「最高」を定義しますか? – Paul

答えて

0

あなたはNodeJSについてJson Web Tokens

を実装しようとすることができ、nJwtと呼ばれる利用可能NPMのパッケージがあります。 npmでインストールできます。

使用例(短縮):

var njwt = require('njwt'); 
if (loginSuccessful) { 
    var payload = { 
         iss: 'your_domain_name', 
         iat: Math.round((Date.now()/1000)), 
         // Set expiration date to now +7200 seconds 
         exp: Math.round((Date.now()/1000)) + 7200, 
         username: username, 
         ip: ip 
       } 
    var token = njwt.create(payload,your_super_secret_key,'HS512').compact()); 
} else { 
// Login not successful, don't give key 
} 

あなたは、ユーザーにトークンを送信することができ、その後、彼らは(例えば)すべてのリクエストでそれを使用しています。

この構成ではトークンは7200秒、または2時間有効になります。

関連する問題