Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port access token management fix from IdentityModel repo #36

Merged
merged 1 commit into from
Nov 12, 2024

Port access token management fix from IdentityModel repo

9b0fad1
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

Port access token management fix from IdentityModel repo #36

Port access token management fix from IdentityModel repo
9b0fad1
Select commit
Loading
Failed to load commit list.
GitHub Actions / Test Report - AccessTokenManagement.Tests succeeded Nov 12, 2024 in 1s

52 passed, 0 failed and 0 skipped

Tests passed successfully

✅ access-token-management/test/AccessTokenManagement.Tests/TestResults/Tests.trx

52 tests were completed in 11s with 52 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Duende.AccessTokenManagement.Tests.AccessTokenHandlerTests 1✅ 73ms
Duende.AccessTokenManagement.Tests.BackChannelClientTests 3✅ 255ms
Duende.AccessTokenManagement.Tests.ClientTokenManagementApiTests 13✅ 2s
Duende.AccessTokenManagement.Tests.ClientTokenManagementTests 15✅ 367ms
Duende.AccessTokenManagement.Tests.StoreTokensInAuthenticationPropertiesTests 7✅ 37ms
Duende.AccessTokenManagement.Tests.UserTokenManagementTests 10✅ 6s
Duende.AccessTokenManagement.Tests.UserTokenManagementWithDPoPTests 3✅ 8s

✅ Duende.AccessTokenManagement.Tests.AccessTokenHandlerTests

✅ lower_case_token_type_should_be_converted_to_case_sensitive

✅ Duende.AccessTokenManagement.Tests.BackChannelClientTests

✅ Get_access_token_uses_custom_backchannel_client_from_factory
✅ Get_access_token_uses_default_backchannel_client_from_factory
✅ Get_access_token_uses_specific_http_client_instance

✅ Duende.AccessTokenManagement.Tests.ClientTokenManagementApiTests

✅ api_returning_401_should_send_new_access_token
✅ dpop_clients_GetAccessTokenAsync_should_obtain_token_with_cnf
✅ dpop_tokens_should_be_passed_to_api
✅ using_different_ec_keys_for_dpop_should_obtain_token_with_cnf(alg: "ES256")
✅ using_different_ec_keys_for_dpop_should_obtain_token_with_cnf(alg: "ES384")
✅ using_different_ec_keys_for_dpop_should_obtain_token_with_cnf(alg: "ES512")
✅ using_different_rsa_keys_for_dpop_should_obtain_token_with_cnf(alg: "PS256")
✅ using_different_rsa_keys_for_dpop_should_obtain_token_with_cnf(alg: "PS384")
✅ using_different_rsa_keys_for_dpop_should_obtain_token_with_cnf(alg: "PS512")
✅ using_different_rsa_keys_for_dpop_should_obtain_token_with_cnf(alg: "RS256")
✅ using_different_rsa_keys_for_dpop_should_obtain_token_with_cnf(alg: "RS384")
✅ using_different_rsa_keys_for_dpop_should_obtain_token_with_cnf(alg: "RS512")
✅ when_api_issues_nonce_api_request_should_be_retried_with_new_nonce

✅ Duende.AccessTokenManagement.Tests.ClientTokenManagementTests

✅ client_should_use_nonce_when_sending_dpop_proof
✅ client_with_dpop_key_should_send_proof_token
✅ Missing_client_id_throw_exception
✅ Missing_expires_in_response_should_create_long_lived_token
✅ Missing_tokenEndpoint_throw_exception
✅ Request_assertion_should_take_precedence_over_service_assertion
✅ Request_assertions_should_be_sent_correctly
✅ Request_parameters_should_take_precedence_over_configuration
✅ Service_assertions_should_be_sent_correctly
✅ Service_should_always_hit_network_with_force_renewal
✅ Service_should_hit_network_only_once_and_then_use_cache
✅ Service_should_hit_network_when_cache_throws_exception
✅ Token_request_and_response_should_have_expected_values(style: AuthorizationHeader)
✅ Token_request_and_response_should_have_expected_values(style: PostBody)
✅ Unknown_client_should_throw_exception

✅ Duende.AccessTokenManagement.Tests.StoreTokensInAuthenticationPropertiesTests

✅ Removing_all_tokens_in_a_challenge_scheme_should_remove_items_shared_in_that_scheme
✅ Should_be_able_to_remove_tokens
✅ Should_be_able_to_remove_tokens_for_multiple_schemes_and_resources_at_the_same_time
✅ Should_be_able_to_store_and_retrieve_tokens
✅ Should_be_able_to_store_and_retrieve_tokens_for_multiple_challenge_schemes
✅ Should_be_able_to_store_and_retrieve_tokens_for_multiple_resources
✅ Should_be_able_to_store_and_retrieve_tokens_for_multiple_schemes_and_resources_at_the_same_time

✅ Duende.AccessTokenManagement.Tests.UserTokenManagementTests

✅ Anonymous_user_should_return_client_token
✅ Anonymous_user_should_return_user_token_error
✅ Missing_expires_in_should_result_in_long_lived_token
✅ Missing_initial_refresh_token_and_expired_access_token_should_return_initial_access_token
✅ Missing_initial_refresh_token_response_should_return_access_token
✅ Multiple_users_have_distinct_tokens_across_refreshes
✅ Refresh_responses_without_refresh_token_use_old_refresh_token
✅ Resources_get_distinct_tokens
✅ Short_token_lifetime_should_trigger_refresh
✅ Standard_initial_token_response_should_return_expected_values

✅ Duende.AccessTokenManagement.Tests.UserTokenManagementWithDPoPTests

✅ dpop_jtk_is_attached_to_authorize_requests
✅ dpop_nonce_is_respected_during_code_exchange
✅ dpop_token_refresh_should_succeed