[英]Getting error while calling API from UI server on validating azure ad token in OWIN middleware
[英]Getting error OWIN start.cs while web API hosting on prem IIS server and api having azure ad bearer authentication
我已經在 SPA 應用程序中實現了 azure 廣告身份驗證,並使用 OWIN start.cs 驗證了令牌。 它在本地環境中運行良好。 下面用於令牌驗證的代碼:
app.UseWindowsAzureActiveDirectoryBearerAuthentication(new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = tenant,
TokenValidationParameters = new TokenValidationParameters
{
//ValidAudiences = new[] { Audience },
ValidAudience = validateAudience,
ValidateIssuer = false,
ValidIssuers = new[] { ValidIssuers }
}
});
當我在 prem 服務器上部署此已發布代碼並運行 web api 時,它會引發錯誤,如下面的屏幕截圖所述。 我使用了 Microsoft.Owin.Security.ActiveDirectory 版本 4.2.2.0,
有人可以幫忙嗎?
基本上, if the user closes the page suddenly.
可能會在取消 HTTP 請求時task was canceled
。 或在執行完成之前取消。
TaskCanceledException 主要是超時。但是要檢查異常,可能必須使用 try catch 進行檢查。
try
{
var response = task.Result;
}
catch (TaskCanceledException ex)
{
// Check ex.CancellationToken.IsCancellationRequested here.
// If false, we may assume it was a timeout in most cases.
}
如果使用if (cancellationToken.IsCancellationRequested)
發生取消令牌,您可以嘗試抑制響應
HttpResponseMessage response = await base.SendAsync(request, cancellationToken);
if (cancellationToken.IsCancellationRequested)
{
return new HttpResponseMessage(HttpStatusCode.InternalServerError);
}
return response;
如果是由於超時,可以設置為某個值。請檢查參考。
var clientHttp = new HttpClient();
httpClient.Timeout = TimeSpan.FromMinutes(30)
在某些使用情況下, await
可用於異步完成的同時任務。
參考:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.