fcatae / Arda

Arda is an open source tool designed to manage team workloads.
42 stars 19 forks source link

Error after login #87

Closed ViniciusSouza closed 7 years ago

ViniciusSouza commented 7 years ago

I got this message after login.

url: https://ardaapp.azurewebsites.net/auth/response

An unhandled exception occurred while processing the request. InvalidOperationException: Invalid non-ASCII or control character in header: 0x000D Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.ThrowInvalidHeaderCharacter(char ch) AggregateException: Unhandled remote failure. (Invalid non-ASCII or control character in header: 0x000D) Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler+d__6.MoveNext() Stack Query Cookies Headers InvalidOperationException: Invalid non-ASCII or control character in header: 0x000D Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.ThrowInvalidHeaderCharacter(char ch) Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.ValidateHeaderCharacters(string headerCharacters) Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.ValidateHeaderCharacters(StringValues headerValues) Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameResponseHeaders.SetValueFast(string key, StringValues value) Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.Microsoft.AspNetCore.Http.IHeaderDictionary.set_Item(string key, StringValues value) Microsoft.AspNetCore.Http.Internal.DefaultHttpResponse.Redirect(string location, bool permanent) Microsoft.AspNetCore.Http.HttpResponse.Redirect(string location) Arda.Main.Startup.OnAuthenticationFailed(AuthenticationFailedContext context) in Startup.Auth.cs + context.HandleResponse(); Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectEvents.AuthenticationFailed(AuthenticationFailedContext context) Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler+d33.MoveNext() System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) System.Runtime.CompilerServices.TaskAwaiter.GetResult() Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler+d20.MoveNext() System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) System.Runtime.CompilerServices.TaskAwaiter.GetResult() Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler+d__6.MoveNext()

Show raw exception details AggregateException: Unhandled remote failure. (Invalid non-ASCII or control character in header: 0x000D) Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler+d6.MoveNext() System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) System.Runtime.CompilerServices.TaskAwaiter.GetResult() Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler+d5.MoveNext() System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) System.Runtime.CompilerServices.TaskAwaiter.GetResult() Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler+d15.MoveNext() System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) System.Runtime.CompilerServices.TaskAwaiter.GetResult() Microsoft.AspNetCore.Authentication.AuthenticationMiddleware+d18.MoveNext() System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() Microsoft.AspNetCore.Authentication.AuthenticationMiddleware+d18.MoveNext() System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) System.Runtime.CompilerServices.TaskAwaiter.GetResult() Microsoft.AspNetCore.Authentication.AuthenticationMiddleware+d18.MoveNext() System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() Microsoft.AspNetCore.Authentication.AuthenticationMiddleware+d18.MoveNext() System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) System.Runtime.CompilerServices.TaskAwaiter.GetResult() Microsoft.AspNetCore.Session.SessionMiddleware+d9.MoveNext() System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() Microsoft.AspNetCore.Session.SessionMiddleware+d9.MoveNext() System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) System.Runtime.CompilerServices.TaskAwaiter.GetResult() Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware+d7.MoveNext()

Show raw exception details System.AggregateException: Unhandled remote failure. (Invalid non-ASCII or control character in header: 0x000D) ---> System.InvalidOperationException: Invalid non-ASCII or control character in header: 0x000D

at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.ThrowInvalidHeaderCharacter(Char ch)

at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.ValidateHeaderCharacters(String headerCharacters)

at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.ValidateHeaderCharacters(StringValues headerValues)

at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameResponseHeaders.SetValueFast(String key, StringValues value)

at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.Microsoft.AspNetCore.Http.IHeaderDictionary.set_Item(String key, StringValues value)

at Microsoft.AspNetCore.Http.Internal.DefaultHttpResponse.Redirect(String location, Boolean permanent)

at Microsoft.AspNetCore.Http.HttpResponse.Redirect(String location)

at Arda.Main.Startup.OnAuthenticationFailed(AuthenticationFailedContext context) in D:\home\site\repository\src\Arda.Main\App_Start\Startup.Auth.cs:line 88

at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectEvents.AuthenticationFailed(AuthenticationFailedContext context)

at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.d__33.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.d__20.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.d__6.MoveNext()

--- End of inner exception stack trace ---

at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.d__6.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.d__5.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.d__15.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.d__18.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.d__18.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.GetResult()

at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.d__18.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.d__18.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.GetResult()

at Microsoft.AspNetCore.Session.SessionMiddleware.d__9.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

at Microsoft.AspNetCore.Session.SessionMiddleware.d__9.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.GetResult()

at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.d__7.MoveNext()

---> (Inner Exception #0) System.InvalidOperationException: Invalid non-ASCII or control character in header: 0x000D

at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.ThrowInvalidHeaderCharacter(Char ch)

at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.ValidateHeaderCharacters(String headerCharacters)

at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.ValidateHeaderCharacters(StringValues headerValues)

at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameResponseHeaders.SetValueFast(String key, StringValues value)

at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameHeaders.Microsoft.AspNetCore.Http.IHeaderDictionary.set_Item(String key, StringValues value)

at Microsoft.AspNetCore.Http.Internal.DefaultHttpResponse.Redirect(String location, Boolean permanent)

at Microsoft.AspNetCore.Http.HttpResponse.Redirect(String location)

at Arda.Main.Startup.OnAuthenticationFailed(AuthenticationFailedContext context) in D:\home\site\repository\src\Arda.Main\App_Start\Startup.Auth.cs:line 88

at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectEvents.AuthenticationFailed(AuthenticationFailedContext context)

at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.d__33.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.d__20.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.d__6.MoveNext()<---

fcatae commented 7 years ago

@ViniciusSouza veja se sua conta está com a senha expirada.

fcatae commented 7 years ago

@ViniciusSouza na verdade, o correto seria forçar o logoff do Arda e fazer novente o Login. Bug deve estar relacionado com o #61 - quando o cookie de sessão está inválido.

fabriciosanchez commented 7 years ago

Investigating a little more, we’ve noticed that the error rises when user has no two factor authentication code (actually, this process is not being requested to user), as you can see in error returned by Visual Studio:

Error: "interaction_required".

AADSTS50079: The user is required to use multi-factor authentication. Trace ID: 3db4dd82-5c8d-409f-8dd1-a48397590a00 Response status code does not indicate success: 400 (badrequest).

Any thoughts regarding this that could help us solve this issue?

fabriciosanchez commented 7 years ago

The problem was solved. We've updated the entire libs of the application and changed ResponseType to "IdToken".

allantargino commented 7 years ago

The login issued was solved - but when Arda tries to get an access token, the following error is shown:

HTTP/1.1 400 Bad Request {"error":"interaction_required","error_description":"AADSTS50079: The user is required to use multi-factor authentication.\r\nTrace ID: dc085eee-4e7b-468e-8c01-e1d8a4200300\r\nCorrelation ID: c192b920-31f8-4d29-841b-4405ddd9b129\r\nTimestamp: 2017-07-27 12:25:17Z","error_codes":[50079],"timestamp":"2017-07-27 12:25:17Z","trace_id":"dc085eee-4e7b-468e-8c01-e1d8a4200300","correlation_id":"c192b920-31f8-4d29-841b-4405ddd9b129","claims":"{\"access_token\":{\"polids\":{\"essential\":true,\"values\":[\"59876338-815e-41e6-9613-0ec6218e5c2d\"]}}}"}

allantargino commented 7 years ago

The problem was that we were trying to get an access token in a MFA environment without doing the MFA process. It happened because on the authorization phase, we didn't ask for any resource on the request.