Skip to content
Unverified Commit 66490981 authored by ysaito1001's avatar ysaito1001 Committed by GitHub
Browse files

Support selectable auth schemes (#4203)

~**semver-hazards check failure will be resolved when #4211 is released
from `aws-sdk-rust`**~

## Description
Add support for auth scheme preference, which allows customers to
re-prioritize the order of auth schemes originally determined by the
auth scheme resolver. See [the
changelog](https://github.com/smithy-lang/smithy-rs/blob/2d483a0880c30683858329fc8411e9f9282de633/.changelog/1752160009.md)
where the auth scheme preference can be configured.

Note: The preference list is merely a hint rather than a strict
override. Any auth schemes not included in the originally resolved auth
schemes will be ignored, and won't be an error.

~To support the implementation, a utility method has been added to
`NowOrLater` to map an inner future.~

## Testing
Those called out in the feature spec:
-
[auth_scheme_preference_should_take_the_highest_priority](https://github.com/smithy-lang/smithy-rs/pull/4203/files#diff-b45485e1d1dd937e149c9c703156aa1a7f71b2bbbd5dddb29ffba385b65c50b0R12)
for `Alternative Auth Resolution`
-
[test_resolve_identity](https://github.com/smithy-lang/smithy-rs/pull/4203/files#diff-db7260e3be202c63463123101814c7bf23ef47796bf23a14d67f567285039d46R891)
to verify `Resolving Auth and Credentials`
- [auth scheme
preference](https://github.com/smithy-lang/smithy-rs/pull/4203/files#diff-e63831c17293fd55b608a406f472155f8809239f3c3afba20bcd77bdc8da2ea3R140)
to verify `Manual auth schemes configuration`
- [test for parsing auth scheme preference from environmental
configuration](https://github.com/smithy-lang/smithy-rs/pull/4203/files#diff-d9b0e8d5e74b3e0542908745494b34c1784153ed4e566fe1ce581f8605e801eaR99)

## Checklist
<!--- If a checkbox below is not applicable, then please DELETE it
rather than leaving it unchecked -->
- [x] For changes to the smithy-rs codegen or runtime crates, I have
created a changelog entry Markdown file in the `.changelog` directory,
specifying "client," "server," or both in the `applies_to` key.
- [x] For changes to the AWS SDK, generated SDK code, or SDK runtime
crates, I have created a changelog entry Markdown file in the
`.changelog` directory, specifying "aws-sdk-rust" in the `applies_to`
key.

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
parent 55c92670
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment