Skip to content

Conversation

pmaytak
Copy link
Contributor

@pmaytak pmaytak commented Jul 11, 2024

A derived ClaimsIdentity where claim retrieval is case-sensitive. The current ClaimsIdentity retrieves claims in a case-insensitive manner which is different than querying the underlying SecurityToken. The CaseSensitiveClaimsIdentity provides consistent retrieval logic between the SecurityToken and ClaimsIdentity.

@pmaytak pmaytak changed the title Add CaseSensitiveClaimsIdentity. Update JsonWebTokenHandler. Add CaseSensitiveClaimsIdentity type. Jul 11, 2024
@pmaytak pmaytak marked this pull request as ready for review July 11, 2024 16:44
@pmaytak pmaytak requested a review from a team as a code owner July 11, 2024 16:44
Copy link
Collaborator

@jennyf19 jennyf19 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@jennyf19 jennyf19 merged commit afb9c59 into dev Jul 15, 2024
keegan-caruso pushed a commit that referenced this pull request Jul 15, 2024
* Add CaseSensitiveClaimsIdentity. Update JsonWebTokenHandler.

* Move switch to a separate class. Update claims identity creation code.

* Add test.

* Update AppContextSwitches

* Update test/Microsoft.IdentityModel.Tokens.Tests/CaseSensitiveClaimsIdentityTests.cs

Co-authored-by: msbw2 <[email protected]>

* Update comments.

* Update ClaimsIdentity code creation in src.

* Add tests.

* Update tests to use correct types.

* Add SecurityToken property to CsClaimsIdentity.

* Update tests to use CsClaimsIdentity.

* Refactor code into ClaimsIdentityFactory.

* Update tests.

* Update ClaimsIdentityFactory.

* Fix tests.

* Update tests for CaseSensitiveClaimsIdentity

* ignore SecurityToken in IdentityComparer

* Set security token in ClaimsIdentityFactory. Add tests.

* Apply suggestions from code review

* Update test.

---------

Co-authored-by: msbw2 <[email protected]>
Co-authored-by: Keegan Caruso <[email protected]>
pmaytak added a commit that referenced this pull request Jul 15, 2024
* Add CaseSensitiveClaimsIdentity. Update JsonWebTokenHandler.

* Move switch to a separate class. Update claims identity creation code.

* Add test.

* Update AppContextSwitches

* Update test/Microsoft.IdentityModel.Tokens.Tests/CaseSensitiveClaimsIdentityTests.cs

Co-authored-by: msbw2 <[email protected]>

* Update comments.

* Update ClaimsIdentity code creation in src.

* Add tests.

* Update tests to use correct types.

* Add SecurityToken property to CsClaimsIdentity.

* Update tests to use CsClaimsIdentity.

* Refactor code into ClaimsIdentityFactory.

* Update tests.

* Update ClaimsIdentityFactory.

* Fix tests.

* Update tests for CaseSensitiveClaimsIdentity

* ignore SecurityToken in IdentityComparer

* Set security token in ClaimsIdentityFactory. Add tests.

* Apply suggestions from code review

* Update test.

---------

Co-authored-by: msbw2 <[email protected]>
Co-authored-by: Keegan Caruso <[email protected]>
@jennyf19 jennyf19 added this to the 8.0.0 milestone Jul 15, 2024
jennyf19 pushed a commit that referenced this pull request Jul 16, 2024
* Add CaseSensitiveClaimsIdentity type. (#2700)

* Add CaseSensitiveClaimsIdentity. Update JsonWebTokenHandler.

* Move switch to a separate class. Update claims identity creation code.

* Add test.

* Update AppContextSwitches

* Update test/Microsoft.IdentityModel.Tokens.Tests/CaseSensitiveClaimsIdentityTests.cs

Co-authored-by: msbw2 <[email protected]>

* Update comments.

* Update ClaimsIdentity code creation in src.

* Add tests.

* Update tests to use correct types.

* Add SecurityToken property to CsClaimsIdentity.

* Update tests to use CsClaimsIdentity.

* Refactor code into ClaimsIdentityFactory.

* Update tests.

* Update ClaimsIdentityFactory.

* Fix tests.

* Update tests for CaseSensitiveClaimsIdentity

* ignore SecurityToken in IdentityComparer

* Set security token in ClaimsIdentityFactory. Add tests.

* Apply suggestions from code review

* Update test.

---------

Co-authored-by: msbw2 <[email protected]>
Co-authored-by: Keegan Caruso <[email protected]>

* Make case sensitive claims identity an opt-in

* Revert using CaseSensitiveClaimsIdentity by default in tests

* Fix test name

* Update src/Microsoft.IdentityModel.Tokens/AppContextSwitches.cs

Co-authored-by: Peter <[email protected]>

* Update src/Microsoft.IdentityModel.Tokens/AppContextSwitches.cs

Co-authored-by: Peter <[email protected]>

* Call TVP.CreateClaimsIdentity to support users that have overloaded. (#2716)

* Call TVP.CreateClaimsIdentity to support users that have overloaded.

* picked up SAML changes and TokenValidationResult

* updated JwtSecurityTokenHandler, reverted tests and removed method.

* touched up tests

---------

Co-authored-by: id4s <[email protected]>

* fix reference

* Update src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Saml2SecurityTokenHandler.cs

Co-authored-by: Peter <[email protected]>

---------

Co-authored-by: Peter <[email protected]>
Co-authored-by: msbw2 <[email protected]>
Co-authored-by: Keegan Caruso <[email protected]>
Co-authored-by: BrentSchmaltz <[email protected]>
Co-authored-by: id4s <[email protected]>
jennyf19 pushed a commit that referenced this pull request Jul 16, 2024
* Add CaseSensitiveClaimsIdentity type. (#2700)

* Add CaseSensitiveClaimsIdentity. Update JsonWebTokenHandler.

* Move switch to a separate class. Update claims identity creation code.

* Add test.

* Update AppContextSwitches

* Update test/Microsoft.IdentityModel.Tokens.Tests/CaseSensitiveClaimsIdentityTests.cs

Co-authored-by: msbw2 <[email protected]>

* Update comments.

* Update ClaimsIdentity code creation in src.

* Add tests.

* Update tests to use correct types.

* Add SecurityToken property to CsClaimsIdentity.

* Update tests to use CsClaimsIdentity.

* Refactor code into ClaimsIdentityFactory.

* Update tests.

* Update ClaimsIdentityFactory.

* Fix tests.

* Update tests for CaseSensitiveClaimsIdentity

* ignore SecurityToken in IdentityComparer

* Set security token in ClaimsIdentityFactory. Add tests.

* Apply suggestions from code review

* Update test.

---------

Co-authored-by: msbw2 <[email protected]>
Co-authored-by: Keegan Caruso <[email protected]>

* Update.

* Update.

* Update.

* Update.

* Call TVP.CreateClaimsIdentity to support users that have overloaded. (#2716)

* Call TVP.CreateClaimsIdentity to support users that have overloaded.

* picked up SAML changes and TokenValidationResult

* updated JwtSecurityTokenHandler, reverted tests and removed method.

* touched up tests

---------

Co-authored-by: id4s <[email protected]>

* Update src/Microsoft.IdentityModel.Tokens.Saml/Saml2/Saml2SecurityTokenHandler.cs

---------

Co-authored-by: msbw2 <[email protected]>
Co-authored-by: Keegan Caruso <[email protected]>
Co-authored-by: BrentSchmaltz <[email protected]>
Co-authored-by: id4s <[email protected]>
@pmaytak pmaytak deleted the pmaytak/cs-claims branch July 17, 2024 02:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants