| TokenManager |  | 0% |  | 0% | 199 | 199 | 527 | 527 | 55 | 55 | 1 | 1 |
| DefaultTokenExchangeProvider |  | 0% |  | 0% | 119 | 119 | 371 | 371 | 23 | 23 | 1 | 1 |
| OIDCLoginProtocolFactory |  | 0% |  | 0% | 49 | 49 | 245 | 245 | 18 | 18 | 1 | 1 |
| OIDCLoginProtocol |  | 0% |  | 0% | 74 | 74 | 203 | 203 | 27 | 27 | 1 | 1 |
| OIDCWellKnownProvider |  | 0% |  | 0% | 35 | 35 | 145 | 145 | 24 | 24 | 1 | 1 |
| TokenManager.AccessTokenResponseBuilder |  | 0% |  | 0% | 53 | 53 | 160 | 160 | 22 | 22 | 1 | 1 |
| OIDCAdvancedConfigWrapper |  | 0% |  | 0% | 101 | 101 | 165 | 165 | 82 | 82 | 1 | 1 |
| OIDCClientSecretConfigWrapper |  | 0% |  | 0% | 50 | 50 | 86 | 86 | 29 | 29 | 1 | 1 |
| AccessTokenIntrospectionProvider |  | 0% |  | 0% | 21 | 21 | 77 | 77 | 7 | 7 | 1 | 1 |
| OIDCLoginProtocolService |  | 0% |  | 0% | 31 | 31 | 61 | 61 | 27 | 27 | 1 | 1 |
| FrontChannelLogoutHandler |  | 0% |  | 0% | 14 | 14 | 36 | 36 | 9 | 9 | 1 | 1 |
| AbstractClientConfigWrapper |  | 0% |  | 0% | 19 | 19 | 32 | 32 | 7 | 7 | 1 | 1 |
| OIDCWellKnownProviderFactory |  | 0% | | 0% | 12 | 12 | 38 | 38 | 11 | 11 | 1 | 1 |
| TokenManager.NotBeforeCheck |  | 0% |  | 0% | 11 | 11 | 17 | 17 | 5 | 5 | 1 | 1 |
| LogoutTokenValidationCode |  | 0% | | n/a | 4 | 4 | 15 | 15 | 4 | 4 | 1 | 1 |
| TokenExchangeContext |  | 0% | | n/a | 12 | 12 | 24 | 24 | 12 | 12 | 1 | 1 |
| TokenExchangeContext.Params |  | 0% | | n/a | 10 | 10 | 10 | 10 | 10 | 10 | 1 | 1 |
| TokenManager.TokenCollector |  | 0% | | n/a | 10 | 10 | 8 | 8 | 10 | 10 | 1 | 1 |
| OIDCClientDescriptionConverterFactory |  | 0% |  | 0% | 10 | 10 | 8 | 8 | 7 | 7 | 1 | 1 |
| TokenManager.new TokenManager.TokenCollector() {...} |  | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TokenManager.new TokenManager.TokenCollector() {...} |  | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TokenManager.new TokenManager.TokenCollector() {...} |  | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TokenManager.new TokenManager.TokenCollector() {...} |  | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TokenManager.new TokenManager.TokenCollector() {...} |  | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| FrontChannelLogoutHandler.ClientInfo |  | 0% | | 0% | 4 | 4 | 9 | 9 | 3 | 3 | 1 | 1 |
| LogoutTokenValidationContext |  | 0% | | n/a | 5 | 5 | 10 | 10 | 5 | 5 | 1 | 1 |
| BackchannelLogoutResponse |  | 0% | | n/a | 5 | 5 | 8 | 8 | 5 | 5 | 1 | 1 |
| OIDCClientDescriptionConverter |  | 0% | | n/a | 3 | 3 | 8 | 8 | 3 | 3 | 1 | 1 |
| TokenManager.TokenRevocationCheck | | 0% | | 0% | 3 | 3 | 5 | 5 | 2 | 2 | 1 | 1 |
| BackchannelLogoutResponse.DownStreamBackchannelLogoutResponse | | 0% | | n/a | 5 | 5 | 7 | 7 | 5 | 5 | 1 | 1 |
| TokenManager.TokenValidation | | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 | 1 | 1 |
| OIDCClientSecretConfigWrapper.ReadOnlyRotatedSecretClientModel | | 0% | | n/a | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 |
| AccessTokenIntrospectionProviderFactory | | 0% | | n/a | 6 | 6 | 6 | 6 | 6 | 6 | 1 | 1 |
| DefaultTokenExchangeProviderFactory | | 0% | | n/a | 6 | 6 | 6 | 6 | 6 | 6 | 1 | 1 |
| TokenExchangeSpi | | 0% | | n/a | 5 | 5 | 5 | 5 | 5 | 5 | 1 | 1 |
| TokenIntrospectionSpi | | 0% | | n/a | 5 | 5 | 5 | 5 | 5 | 5 | 1 | 1 |
| RefreshTokenIntrospectionProviderFactory | | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| RefreshTokenIntrospectionProvider | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |