I've hit upon yet another
encodedValue error scenario:
Exception of type 'System.ArgumentException' was thrown. Parameter name: encodedValue at Microsoft.SharePoint.Administration.Claims.SPClaimEncodingManager.DecodeClaimFromFormsSuffix(String encodedValue) at Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager.GetProviderUserKey(IClaimsIdentity claimsIdentity, String encodedIdentityClaimSuffix) at Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager.GetProviderUserKey(String encodedIdentityClaimSuffix) at Microsoft.SharePoint.Utilities.SPUtility.GetFullUserKeyFromLoginName(String loginName) at Microsoft.SharePoint.ApplicationRuntime.SPHeaderManager.AddIsapiHeaders(HttpContext context, String encodedUrl, NameValueCollection headers) at Microsoft.SharePoint... bca6039c-35a7-5087-0000-057fa64c1d5b
The reproduction seems to be the following:
- Have a working site with Windows Authentication.
- Add Forms-Based
- Authentication with any working provider, properly configured.
- Test FBA. Everything works.
- Sign out. Everything works.
- When prompted after sign out, choose
- Everything works.
- Sign out.
At that point you are signed out, but you get an error. If you refresh the error page, it will work eventually (the number of refreshes needed seemed to be steady at two, but that proved false).
The FBA sign in before Windows is not necessary, it is just here to allow demonstrating that the FBA provider is working and not causing the issue (seemingly).