2016-07-16 7 views
0

私はモバイルアプリケーション(Ionic/Cordova)を構築しており、API(NodeJS)を呼び出すため、シンプルで効果的なユーザー認証方法を考え出しています。App/API認証アプローチのアドバイス

    は、APIのみが

、それを呼び出しているユーザーのユーザーに署名した
  • APIを呼び出すことができますを識別することができるようにAPIを保護モバイルアプリにユーザーを登録し、
  • 理想的には、私は何か李私はパスワードを処理したくないので、ユーザに署名するためにAuth0を使用してください。

    私は自分のHTML5/Javascriptアプリケーションを構築してAuth0を使用することができ、私が理解しようとしている部分は、ユーザーがログインしてそのアプリケーションがNodeJS APIを呼び出すときに、APIコードがそのユーザーを知るように設定する方法です。

    Auth0にNodeJSパスポートモジュールを使用して、アプリからAPIにトークンを渡すだけで動作しますか?または、oauthメカニズムを構築するなど、API自体のさまざまな処理を行う必要がありますか?

    このシナリオでAPIを保護する方法についてアドバイスをいただければ幸いです。私は理想的には、APIに独自の認証/トークンシステムを構築したくないのです。

  • 答えて

    1

    はいパスポートを使用すると、スマートな認証メカニズムも開発できます。ユーザー名passowordのように。一度ログインしてしばらくログインしてください。

    check this tutorial

    あなたがサインインAPIを追加する必要がtokemを取得します。サインインAPIでユーザー名とパスワードを確認します。 jwtトークンを生成してクライアントに渡します。

    モバイルアプリでは、クライアント側ではCookieまたはローカルストレージとして保存できます。

    window.localStorage.setItem('token', 'the-long-access-token'); 
    

    その後、制限されたAPIを呼び出すたびに、あなたはトークンを渡します。このように

    var token = window.localStorage.getItem('token'); 
    
    if (token) { 
        $.ajaxSetup({ 
        headers: { 
         'x-access-token': token 
        } 
        }); 
    } 
    
    +0

    ご回答いただければ受け入れてください。 – enRaiser

    +0

    こんにちは、どのようにクライアントアプリケーションについての情報の後ではありませんでした。私はAPIをどのように保護するべきかを知りたい。クライアントアプリケーションがID_TOKENを十分に渡しているかどうかを確認するだけですか? –

    +0

    あなたが保護することによって、あなたが認証されたことを意味するなら、はい。明らかにそれは私が上に書いた全体のものです。トークンはサインイン後に生成されます。それを攻撃するのは難しいです。 – enRaiser

    関連する問題