99using System . Threading . Tasks ;
1010using BenchmarkDotNet . Attributes ;
1111using BenchmarkDotNet . Configs ;
12+ using Microsoft . Identity . Abstractions ;
1213using Microsoft . IdentityModel . JsonWebTokens ;
1314using Microsoft . IdentityModel . Tokens ;
1415using Microsoft . IdentityModel . Tokens . Experimental ;
@@ -65,7 +66,7 @@ public void Setup()
6566 _validationParameters = new ValidationParameters ( ) ;
6667 _validationParameters . ValidAudiences . Add ( BenchmarkUtils . Audience ) ;
6768 _validationParameters . ValidIssuers . Add ( BenchmarkUtils . Issuer ) ;
68- _validationParameters . IssuerSigningKeys . Add ( BenchmarkUtils . SigningCredentialsRsaSha256 . Key ) ;
69+ _validationParameters . SigningKeys . Add ( BenchmarkUtils . SigningCredentialsRsaSha256 . Key ) ;
6970
7071 _invalidTokenValidationParameters = new TokenValidationParameters ( )
7172 {
@@ -105,8 +106,8 @@ public async Task<bool> JsonWebTokenHandler_ValidateTokenAsyncWithVP()
105106 {
106107 // Because ValidationResult is an internal type, we cannot return it in the benchmark.
107108 // We return a boolean instead until the type is made public.
108- ValidationResult < ValidatedToken , ValidationError > result = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _validationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
109- return result . IsValid ;
109+ OperationResult < ValidatedToken , ValidationError > operationResult = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _validationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
110+ return operationResult . Succeeded ;
110111 }
111112
112113 [ BenchmarkCategory ( "ValidateTokenAsync_FailTwiceBeforeSuccess" ) , Benchmark ( Baseline = true ) ]
@@ -132,11 +133,11 @@ public async Task<TokenValidationResult> JsonWebTokenHandler_ValidateTokenAsyncW
132133 [ BenchmarkCategory ( "ValidateTokenAsync_FailTwiceBeforeSuccess" ) , Benchmark ]
133134 public async Task < bool > JsonWebTokenHandler_ValidateTokenAsyncWithVP_SucceedOnThirdAttempt ( )
134135 {
135- ValidationResult < ValidatedToken , ValidationError > result = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _invalidValidationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
136- result = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _invalidValidationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
137- result = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _validationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
136+ OperationResult < ValidatedToken , ValidationError > operationResult = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _invalidValidationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
137+ operationResult = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _invalidValidationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
138+ operationResult = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _validationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
138139
139- return result . IsValid ;
140+ return operationResult . Succeeded ;
140141 }
141142
142143 [ BenchmarkCategory ( "ValidateTokenAsync_FailFourTimesBeforeSuccess" ) , Benchmark ( Baseline = true ) ]
@@ -166,13 +167,13 @@ public async Task<TokenValidationResult> JsonWebTokenHandler_ValidateTokenAsyncW
166167 [ BenchmarkCategory ( "ValidateTokenAsync_FailFourTimesBeforeSuccess" ) , Benchmark ]
167168 public async Task < bool > JsonWebTokenHandler_ValidateTokenAsyncWithVP_SucceedOnFifthAttempt ( )
168169 {
169- ValidationResult < ValidatedToken , ValidationError > result = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _invalidValidationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
170- result = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _invalidValidationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
171- result = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _invalidValidationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
172- result = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _invalidValidationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
173- result = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _validationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
170+ OperationResult < ValidatedToken , ValidationError > operationResult = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _invalidValidationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
171+ operationResult = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _invalidValidationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
172+ operationResult = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _invalidValidationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
173+ operationResult = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _invalidValidationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
174+ operationResult = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _validationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
174175
175- return result . IsValid ;
176+ return operationResult . Succeeded ;
176177 }
177178
178179 [ BenchmarkCategory ( "ValidateTokenAsyncClaimAccess" ) , Benchmark ( Baseline = true ) ]
@@ -187,8 +188,8 @@ public async Task<List<Claim>> JsonWebTokenHandler_ValidateTokenAsyncWithTVP_Cre
187188 [ BenchmarkCategory ( "ValidateTokenAsyncClaimAccess" ) , Benchmark ]
188189 public async Task < List < Claim > > JsonWebTokenHandler_ValidateTokenAsyncWithVP_CreateClaims ( )
189190 {
190- ValidationResult < ValidatedToken , ValidationError > result = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _validationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
191- var claimsIdentity = result . UnwrapResult ( ) . ClaimsIdentity ;
191+ OperationResult < ValidatedToken , ValidationError > operationResult = await _jsonWebTokenHandler . ValidateTokenAsync ( _jwsExtendedClaims , _validationParameters , _callContext , CancellationToken . None ) . ConfigureAwait ( false ) ;
192+ var claimsIdentity = operationResult . Result . ClaimsIdentity ;
192193 var claims = claimsIdentity . Claims ;
193194 return claims . ToList ( ) ;
194195 }
0 commit comments