SessionSecurityToken - 输入不是有效的Base-64字符串

时间:2015-10-08 15:38:51

标签: asp.net authentication cookies adfs ws-federation

我附上了错误的确切印刷品。

应用程序托管在IIS中并使用ADFS身份验证。一个人设法从10人中重现这个错误。它甚至在重新启动浏览器之后每次都会重现,删除缓存和放大器。在她的机器上的饼干。重新启动应用程序池或重新启动机器后,它停止了再现。我打赌IIS应用程序池重启,因为我已经尝试重新启动浏览器并删除co​​okie,但它没有解决任何问题。

唯一的定制"我们正在做的行为是在SessionSecurityTokenReceived事件中以这种方式滑动令牌:

           var token = e.SessionToken;
             e.ReissueCookie = true;
            e.SessionToken =
                new SessionSecurityToken(
                    token.ClaimsPrincipal,
                    token.Context,
                    DateTime.UtcNow, //Start date
                    DateTime.UtcNow.AddMinutes(30)) //Expiration date
                {
                    IsPersistent = token.IsPersistent,
                };

记录IsPersistent,并且它总是被评估为false。这会是问题吗?我不这么认为。从一些谷歌搜索中我发现人们通常在进行令牌滑动时将其设置为true。

另一个搜索说尝试以这种方式创建令牌:

           var sam = sender as SessionAuthenticationModule;
            e.SessionToken = sam.CreateSessionSecurityToken(
                                 token.ClaimsPrincipal,
                                 token.Context,
                                 DateTime.UtcNow, //Start date
                                 DateTime.UtcNow.AddMinutes(30),//Expiration date
                                 true);

使用"新的SessionSecurityToken创建令牌有什么不同。" vs" sam = sender as SessionAuthenticationModule; sam.CreateSessionSecurityToken" ?

我可以提供其他任何细节。

谢谢

Error screen

0 个答案:

没有答案
相关问题