如何在Authorize端点中获取User JWT access_token



我想在授权控制器中获取用户access_token,以便使用此令牌调用其他API。例如:

[Authorize]
[HttpGet(Name = "GetWeatherForecast")]
public IEnumerable<WeatherForecast> Get()
{
var token = //get actual user access_token 
var httpClient = new HttpClient();
httpClient.BaseAddress = new Uri("http://localhost:8000");
httpClient.DefaultRequestHeaders.Authorization = new                                     System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
var a = httpClient.GetStringAsync("/api/messages").Result;
}

我试图从HttpContext.User获取,但没有令牌。

我找到了这个解决方案来获得令牌

private readonly IHttpContextAccessor _httpContextAccessor;
public HomeController(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
public IActionResult Controller()
{
var token = await 
_httpContextAccessor.HttpContext.GetTokenAsync("access_token");
}

最新更新