У меня есть приложение ASP.Net Core 2.2 и авторизация в твиттере начала показывать ошибку Response status code does not indicate success: 403 (Forbidden)
.Я трижды проверил ClientId, ClientSecret, а также URL-адрес веб-сайта, URL-адрес обратного вызова, URL-адрес условий и положений, URL-адрес политики конфиденциальности и все в порядке (см. Скриншот ниже).Какие-либо входные данные о том, что мои следующие шаги должны быть?
Документация на здесь говорит "The request is understood, but it has been refused or access is not allowed. An accompanying error message will explain why. This code is used when requests are being denied due to update limits . Other reasons for this status being returned are listed alongside the error codes in the table below."
.
Как перехватить код ошибки (вместе с кодом состояния HTTP (в нашем случае 403)), когда аутентификация Twitter ASP.Net Core связывается с Twitter?
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
#region Add Twitter Authentication
.AddTwitter(twitterOptions =>
{
twitterOptions.ConsumerKey = Configuration["TwitterAuthSettings:ClientId"];
twitterOptions.ConsumerSecret = Configuration["TwitterAuthSettings:ClientSecret"];
twitterOptions.SaveTokens = true;
twitterOptions.Events.OnCreatingTicket = oAuthCreatingTicketContext =>
{
var authenticationTokens = oAuthCreatingTicketContext.Properties.GetTokens().ToList();
var authenticationToken = new AuthenticationToken()
{
Name = "TicketCreated",
Value = DateTime.UtcNow.ToString()
};
authenticationTokens.Add(authenticationToken);
oAuthCreatingTicketContext.Properties.StoreTokens(authenticationTokens);
return Task.CompletedTask;
};
twitterOptions.Events.OnTicketReceived = ticketReceivedContext =>
{
return Task.CompletedTask;
};
twitterOptions.Events.OnRemoteFailure = remoteFailureContext =>
{
return Task.CompletedTask;
};
})
#endregion Add Twitter Authentication
}
Трассировка стека:
Exception occured: System.Net.Http.HttpRequestException: Response status code does not indicate success: 403 (Forbidden).
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() at Scrubber.ExceptionMiddleware.InvokeAsync(HttpContext httpContext) in /src/Scrubber/ExceptionMiddleware.cs:line 25