@@ -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,48 +45,39 @@ public void Create_FromTokenValidationParameters_ReturnsCorrectClaimsIdentity(bo
4545 AppContext . SetSwitch ( AppContextSwitches . UseClaimsIdentityTypeSwitch , 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 var jsonWebToken = new JsonWebToken ( Default . Jwt ( Default . SecurityTokenDescriptor ( ) ) ) ;
78- var tokenValidationParameters = new DerivedTokenValidationParameters ( returnCaseSensitiveClaimsIdentityWithoutToken : tvpReturnsCaseSensitiveClaimsIdentityWithoutToken ) ;
55+ var tokenValidationParameters = new DerivedTokenValidationParameters ( tvpReturnsCaseSensitiveClaimsIdentity , tvpReturnsCaseSensitiveClaimsIdentityWithToken ) ;
7956 tokenValidationParameters . AuthenticationType = "custom-authentication-type" ;
8057 tokenValidationParameters . NameClaimType = "custom-name" ;
8158 tokenValidationParameters . RoleClaimType = "custom-role" ;
8259
83- var actualClaimsIdentity = ClaimsIdentityFactory . Create ( jsonWebToken , tokenValidationParameters , Default . Issuer ) ;
60+ var actualClaimsIdentity = tokenValidationParameters . CreateClaimsIdentity ( jsonWebToken , Default . Issuer ) ;
8461
85- Assert . IsType < CaseSensitiveClaimsIdentity > ( actualClaimsIdentity ) ;
86-
87- var securityToken = ( ( CaseSensitiveClaimsIdentity ) actualClaimsIdentity ) . SecurityToken ;
88- Assert . NotNull ( securityToken ) ;
89- Assert . Equal ( jsonWebToken , securityToken ) ;
62+ if ( tvpReturnsCaseSensitiveClaimsIdentity )
63+ {
64+ Assert . IsType < CaseSensitiveClaimsIdentity > ( actualClaimsIdentity ) ;
65+ if ( tvpReturnsCaseSensitiveClaimsIdentityWithToken )
66+ {
67+ var securityToken = ( ( CaseSensitiveClaimsIdentity ) actualClaimsIdentity ) . SecurityToken ;
68+ Assert . NotNull ( securityToken ) ;
69+ Assert . IsType < TvpJsonWebToken > ( securityToken ) ;
70+ Assert . NotEqual ( jsonWebToken , securityToken ) ;
71+ }
72+ else
73+ {
74+ Assert . Null ( ( ( CaseSensitiveClaimsIdentity ) actualClaimsIdentity ) . SecurityToken ) ;
75+ }
76+ }
77+ else
78+ {
79+ Assert . IsType < ClaimsIdentity > ( actualClaimsIdentity ) ;
80+ }
9081
9182 Assert . Equal ( tokenValidationParameters . AuthenticationType , actualClaimsIdentity . AuthenticationType ) ;
9283 Assert . Equal ( tokenValidationParameters . NameClaimType , actualClaimsIdentity . NameClaimType ) ;
@@ -97,28 +88,30 @@ public void Create_FromDerivedTokenValidationParameters_ReturnsCorrectClaimsIden
9788
9889 private class DerivedTokenValidationParameters : TokenValidationParameters
9990 {
91+ private bool _returnCaseSensitiveClaimsIdentity ;
10092 private bool _returnCaseSensitiveClaimsIdentityWithToken ;
101- private bool _returnCaseSensitiveClaimsIdentityWithoutToken ;
10293
103- public DerivedTokenValidationParameters ( bool returnCaseSensitiveClaimsIdentityWithToken = false , bool returnCaseSensitiveClaimsIdentityWithoutToken = false )
94+ public DerivedTokenValidationParameters ( bool returnCaseSensitiveClaimsIdentity = false , bool returnCaseSensitiveClaimsIdentityWithToken = false )
10495 {
96+ _returnCaseSensitiveClaimsIdentity = returnCaseSensitiveClaimsIdentity ;
10597 _returnCaseSensitiveClaimsIdentityWithToken = returnCaseSensitiveClaimsIdentityWithToken ;
106- _returnCaseSensitiveClaimsIdentityWithoutToken = returnCaseSensitiveClaimsIdentityWithoutToken ;
10798 }
10899
109100 public override ClaimsIdentity CreateClaimsIdentity ( SecurityToken securityToken , string issuer )
110101 {
111- if ( _returnCaseSensitiveClaimsIdentityWithToken )
102+ if ( _returnCaseSensitiveClaimsIdentity )
112103 {
113- return new CaseSensitiveClaimsIdentity ( AuthenticationType , NameClaimType , RoleClaimType )
104+ if ( _returnCaseSensitiveClaimsIdentityWithToken )
114105 {
115- SecurityToken = new TvpJsonWebToken ( Default . Jwt ( Default . SecurityTokenDescriptor ( ) ) ) ,
116- } ;
117- }
118-
119- if ( _returnCaseSensitiveClaimsIdentityWithoutToken )
120- {
121- return new CaseSensitiveClaimsIdentity ( AuthenticationType , NameClaimType , RoleClaimType ) ;
106+ return new CaseSensitiveClaimsIdentity ( AuthenticationType , NameClaimType , RoleClaimType )
107+ {
108+ SecurityToken = new TvpJsonWebToken ( Default . Jwt ( Default . SecurityTokenDescriptor ( ) ) ) ,
109+ } ;
110+ }
111+ else
112+ {
113+ return new CaseSensitiveClaimsIdentity ( AuthenticationType , NameClaimType , RoleClaimType ) ;
114+ }
122115 }
123116
124117 return new ClaimsIdentity ( AuthenticationType , NameClaimType , RoleClaimType ) ;
0 commit comments