Ensure the anonymous principal is not authenticated #373
+4
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves an issue with the anti-CSRF token validator.
When generating a form token, the token validator uses
IIdentity.IsAuthenticated
to determine whether to encode a username in the token. Due to the changes in #363, theLogin.cshtml
page was encoding the username "anonymous" in its form token. When validating the form token for theAuthTest
page, the validator was expecting an empty username.GenericIdentity
is authenticated so long as it has a name. Therefore, it is impossible to useGenericIdentity
to get an identity with the nameanonymous
that is not authenticated.ClaimsIdentity
is authenticated so long as it has an authentication type so we can simply pass a name claim with no authentication type into the constructor.