2016-10-23 3 views
0

すべてのapiにログインした後、サーバーから受け取ったトークンを渡す必要があります。だから私の質問はどのようにすべてのAPI呼び出しでトークンを追加するインターセプタを記述することです。私はapiを呼び出すために「要望約束」を使用しています。react-reduxでインターセプタを書くには?

ありがとうございます!

答えて

1

私はあなたの要求、約束 'のラッパー(インターフェイス)関数を作成しますコール:

export default class RequestInterface { 
    constructor(accessToken) { 
     this.accessToken = accessToken; 
    } 

    request({ 
     method, 
     uri, 
     body, 
    }) { 
     return rp({ 
      method, 
      uri, 
      body, 
      qs: { 
       access_token: this.accessToken, 
      }, 
     }); 
    } 
} 

すべてのRequestInterface.request()呼び出しでこの方法は、あなたがそこにあなたの資格情報を持っています。

(私はこれをテストしませんでしたが、それは基本的な考えです)

+0

したがって、クエリ文字列にトークンを渡していますか?それは安全ですか? –

+0

私はqsオブジェクト内のトークンを例として追加しましたが、あなたのAPIがボディ上にトークンを必要とする場合は、要求の前にbodyオブジェクトにトークンを追加するだけでよいのですが、 'body.access_token = this.accessToken'とyesこのメソッドの安全です。 –

関連する問題