[IdentityServer] Erro HTTP Error 400. The size of the request headers is too long
![[IdentityServer] Erro HTTP Error 400. The size of the request headers is too long](https://identityserver.github.io/images/IDserver_logowhitebackground.jpg)
Olá PessoALL,
No projeto que trabalho temos varios modulos independentes que utilizam o IdentityServer para Single Sign On
.
Nesse caso em específico, devido ao grande número de grupos/perfis que o usuário possuía uma quantidade enorme de claims era retornada e a aplicação sempre retornava um erro 400 falando que os headers estavam muito grandes.
Após muita pesquisa conseguimos encontrar a seguinte thread no StackOverflow:
http://stackoverflow.com/questions/30203596/mvc-6-openidconnect
Basicamente devido ao grande número de claims o cookie de retorno estava muito grande, na solução proposta armazenamos os dados na sessão e persistimos o id da sessão no cookie retornado para o usuário.
A solução inclusive foi retirada do repositório de exemplos oficiais da Microsoft:
https://github.com/aspnet/Security/tree/5cf0564484cf5bb2a7a16e6485816d19287538e6/samples/CookieSessionSample
Vale lembrar que essa solucao eh uma solucao retirada direta dos exemplos e vale apenas como norte, para usar em produção por exemplo deveríamos usar o cache no Redis e não em memória por exemplo. Alguns pontos devem ser considerados antes de levar a solução para produção
Espero ajudar alguém que enfrente o problema no futuro!