"Authorization Code Grant Flow"を使用してWeb APIを呼び出すASP .Net Core 1.1 MVC Webアプリケーションを開発しています。 Auth0を認証サーバーに使用しています。コントローラのアクセストークンを取得する
Auth0のチュートリアルに続いて、ユーザーがウェブアプリケーションに正常にログインし、ウェブアプリケーションがウェブAPIを呼び出すようになると、次のようにアクセストークンを取得する必要があります。
public async Task<IActionResult> Index()
{
string accessToken = User.Claims.FirstOrDefault("access_token")?.Value;
if (accessToken == "")
return View("Error");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
HttpResponseMessage responseMessage = await client.GetAsync(inspectionsUrl);
if (responseMessage.IsSuccessStatusCode)
{
var responseData = responseMessage.Content.ReadAsStringAsync().Result;
List<Inspection> inspections = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Inspection>>(responseData);
return View(inspections);
}
return View("Error");
}
しかし、これはさらに、次の
Argument 2: cannot convert from 'string' to 'System.Func <System.Security.Claims.Claim, bool>'
任意のアイデアを与えて、コンパイルされませんか?
ありがとうjuunasを!それはトリックでした!残念ながら、返される "accessToken"はnullですが、それは私が理解しようとするものです - 少なくともコンパイルしてください! :) – user1900799