@@ -25,7 +25,7 @@ public void Create_FromTokenValidationParameters_ReturnsCorrectClaimsIdentity(bo
2525 tokenValidationParameters . NameClaimType = "custom-name" ;
2626 tokenValidationParameters . RoleClaimType = "custom-role" ;
2727
28- var actualClaimsIdentity = ClaimsIdentityFactory . Create ( jsonWebToken , tokenValidationParameters , Default . Issuer ) ;
28+ var actualClaimsIdentity = tokenValidationParameters . CreateClaimsIdentity ( jsonWebToken , Default . Issuer ) ;
2929
3030 Assert . Equal ( tokenValidationParameters . AuthenticationType , actualClaimsIdentity . AuthenticationType ) ;
3131 Assert . Equal ( tokenValidationParameters . NameClaimType , actualClaimsIdentity . NameClaimType ) ;
@@ -45,50 +45,41 @@ public void Create_FromTokenValidationParameters_ReturnsCorrectClaimsIdentity(bo
4545 AppContext . SetSwitch ( AppContextSwitches . UseCaseSensitiveClaimsIdentityIdentityTypeSwitch , false ) ;
4646 }
4747
48- [ Fact ]
49- public void Create_FromDerivedTokenValidationParameters_HonorsSetSecurityToken ( )
50- {
51- var jsonWebToken = new JsonWebToken ( Default . Jwt ( Default . SecurityTokenDescriptor ( ) ) ) ;
52- var tokenValidationParameters = new DerivedTokenValidationParameters ( returnCaseSensitiveClaimsIdentityWithToken : true ) ;
53- tokenValidationParameters . AuthenticationType = "custom-authentication-type" ;
54- tokenValidationParameters . NameClaimType = "custom-name" ;
55- tokenValidationParameters . RoleClaimType = "custom-role" ;
56-
57- var actualClaimsIdentity = ClaimsIdentityFactory . Create ( jsonWebToken , tokenValidationParameters , Default . Issuer ) ;
58-
59- // The SecurityToken set in derived TokenValidationParameters is honored.
60- Assert . IsType < CaseSensitiveClaimsIdentity > ( actualClaimsIdentity ) ;
61-
62- var securityToken = ( ( CaseSensitiveClaimsIdentity ) actualClaimsIdentity ) . SecurityToken ;
63- Assert . NotNull ( securityToken ) ;
64- Assert . IsType < TvpJsonWebToken > ( securityToken ) ;
65- Assert . NotEqual ( jsonWebToken , securityToken ) ;
66-
67- Assert . Equal ( tokenValidationParameters . AuthenticationType , actualClaimsIdentity . AuthenticationType ) ;
68- Assert . Equal ( tokenValidationParameters . NameClaimType , actualClaimsIdentity . NameClaimType ) ;
69- Assert . Equal ( tokenValidationParameters . RoleClaimType , actualClaimsIdentity . RoleClaimType ) ;
70- }
71-
7248 [ Theory ]
73- [ InlineData ( true ) ]
74- [ InlineData ( false ) ]
75- public void Create_FromDerivedTokenValidationParameters_ReturnsCorrectClaimsIdentity ( bool tvpReturnsCaseSensitiveClaimsIdentityWithoutToken )
49+ [ InlineData ( true , true ) ]
50+ [ InlineData ( true , false ) ]
51+ [ InlineData ( false , false ) ]
52+ public void Create_FromDerivedTokenValidationParameters_ReturnsCorrectClaimsIdentity ( bool tvpReturnsCaseSensitiveClaimsIdentity , bool tvpReturnsCaseSensitiveClaimsIdentityWithToken )
7653 {
7754 AppContext . SetSwitch ( AppContextSwitches . UseCaseSensitiveClaimsIdentityIdentityTypeSwitch , true ) ;
7855
7956 var jsonWebToken = new JsonWebToken ( Default . Jwt ( Default . SecurityTokenDescriptor ( ) ) ) ;
80- var tokenValidationParameters = new DerivedTokenValidationParameters ( returnCaseSensitiveClaimsIdentityWithoutToken : tvpReturnsCaseSensitiveClaimsIdentityWithoutToken ) ;
57+ var tokenValidationParameters = new DerivedTokenValidationParameters ( tvpReturnsCaseSensitiveClaimsIdentity , tvpReturnsCaseSensitiveClaimsIdentityWithToken ) ;
8158 tokenValidationParameters . AuthenticationType = "custom-authentication-type" ;
8259 tokenValidationParameters . NameClaimType = "custom-name" ;
8360 tokenValidationParameters . RoleClaimType = "custom-role" ;
8461
85- var actualClaimsIdentity = ClaimsIdentityFactory . Create ( jsonWebToken , tokenValidationParameters , Default . Issuer ) ;
62+ var actualClaimsIdentity = tokenValidationParameters . CreateClaimsIdentity ( jsonWebToken , Default . Issuer ) ;
8663
87- Assert . IsType < CaseSensitiveClaimsIdentity > ( actualClaimsIdentity ) ;
88-
89- var securityToken = ( ( CaseSensitiveClaimsIdentity ) actualClaimsIdentity ) . SecurityToken ;
90- Assert . NotNull ( securityToken ) ;
91- Assert . Equal ( jsonWebToken , securityToken ) ;
64+ if ( tvpReturnsCaseSensitiveClaimsIdentity )
65+ {
66+ Assert . IsType < CaseSensitiveClaimsIdentity > ( actualClaimsIdentity ) ;
67+ if ( tvpReturnsCaseSensitiveClaimsIdentityWithToken )
68+ {
69+ var securityToken = ( ( CaseSensitiveClaimsIdentity ) actualClaimsIdentity ) . SecurityToken ;
70+ Assert . NotNull ( securityToken ) ;
71+ Assert . IsType < TvpJsonWebToken > ( securityToken ) ;
72+ Assert . NotEqual ( jsonWebToken , securityToken ) ;
73+ }
74+ else
75+ {
76+ Assert . Null ( ( ( CaseSensitiveClaimsIdentity ) actualClaimsIdentity ) . SecurityToken ) ;
77+ }
78+ }
79+ else
80+ {
81+ Assert . IsType < ClaimsIdentity > ( actualClaimsIdentity ) ;
82+ }
9283
9384 Assert . Equal ( tokenValidationParameters . AuthenticationType , actualClaimsIdentity . AuthenticationType ) ;
9485 Assert . Equal ( tokenValidationParameters . NameClaimType , actualClaimsIdentity . NameClaimType ) ;
@@ -101,28 +92,30 @@ public void Create_FromDerivedTokenValidationParameters_ReturnsCorrectClaimsIden
10192
10293 private class DerivedTokenValidationParameters : TokenValidationParameters
10394 {
95+ private bool _returnCaseSensitiveClaimsIdentity ;
10496 private bool _returnCaseSensitiveClaimsIdentityWithToken ;
105- private bool _returnCaseSensitiveClaimsIdentityWithoutToken ;
10697
107- public DerivedTokenValidationParameters ( bool returnCaseSensitiveClaimsIdentityWithToken = false , bool returnCaseSensitiveClaimsIdentityWithoutToken = false )
98+ public DerivedTokenValidationParameters ( bool returnCaseSensitiveClaimsIdentity = false , bool returnCaseSensitiveClaimsIdentityWithToken = false )
10899 {
100+ _returnCaseSensitiveClaimsIdentity = returnCaseSensitiveClaimsIdentity ;
109101 _returnCaseSensitiveClaimsIdentityWithToken = returnCaseSensitiveClaimsIdentityWithToken ;
110- _returnCaseSensitiveClaimsIdentityWithoutToken = returnCaseSensitiveClaimsIdentityWithoutToken ;
111102 }
112103
113104 public override ClaimsIdentity CreateClaimsIdentity ( SecurityToken securityToken , string issuer )
114105 {
115- if ( _returnCaseSensitiveClaimsIdentityWithToken )
106+ if ( _returnCaseSensitiveClaimsIdentity )
116107 {
117- return new CaseSensitiveClaimsIdentity ( AuthenticationType , NameClaimType , RoleClaimType )
108+ if ( _returnCaseSensitiveClaimsIdentityWithToken )
118109 {
119- SecurityToken = new TvpJsonWebToken ( Default . Jwt ( Default . SecurityTokenDescriptor ( ) ) ) ,
120- } ;
121- }
122-
123- if ( _returnCaseSensitiveClaimsIdentityWithoutToken )
124- {
125- return new CaseSensitiveClaimsIdentity ( AuthenticationType , NameClaimType , RoleClaimType ) ;
110+ return new CaseSensitiveClaimsIdentity ( AuthenticationType , NameClaimType , RoleClaimType )
111+ {
112+ SecurityToken = new TvpJsonWebToken ( Default . Jwt ( Default . SecurityTokenDescriptor ( ) ) ) ,
113+ } ;
114+ }
115+ else
116+ {
117+ return new CaseSensitiveClaimsIdentity ( AuthenticationType , NameClaimType , RoleClaimType ) ;
118+ }
126119 }
127120
128121 return new ClaimsIdentity ( AuthenticationType , NameClaimType , RoleClaimType ) ;
0 commit comments