2017-09-16 21 views
0

ASP.NETコアでJWTを試していますが、ページナビゲーションで使用する方法がわかりません。いくつかのコントローラにAuthorize属性が設定されており、要求にアクセスできるようにJWTをリクエストのヘッダーに含める必要があります。ASP.NETコアのページナビゲーションにJWTトークンを含める方法

私はすでにトークンを生成していますが、私はAuthorizeでマークされたページに移動するときに、リクエストヘッダーにどのようにトークンを含めるかわかりません。

私の質問は以下のとおりです。

  1. にはどうすればいいので、私は、ナビゲーション時に承認してページにアクセスすることができ、要求にトークンを追加するには?

  2. JWTトークンは通常、この方法(ページナビゲーション)で使用されていますか、主にAPI呼び出し用ですか?このように使うのは間違っていますか?

  3. リクエストヘッダーに追加できるようにJWTを保存できるようにする必要があり、Cookieに保存することを検討しています。これは、クッキーベースの認証がCSRFに関する問題を引き起こしていませんか?

答えて

0

JWTトークンはwebservice/Rest API呼び出し用です。

MVCページでは、Cookieを使用します。通常は、ASP.NETコアIDを介して行われます。

コントローラからJWTを使用することもできます。つまり、リモートAPIを呼び出す場合です。この場合、HttpClientSetBearerTokenのようにリクエストを作成します。

public async Task<IActionResult> RemoteCall() 
{ 
    string accessToken = ...; 

    using (var client = new HttpClient()) 
    { 
     client.SetBearerToken(accessToken); 
     string content = await client.GetStringAsync("https://example.com/api/resource"); 

     return Content(content); 
    } 
} 
関連する問題