feat(experimentalIdentityAndAuth): update HttpAuthOption
and HttpAuthScheme
codegen
#907
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
Issue number, if available, prefixed with "#"
N/A.
Description
What does this implement/fix? Explain your changes.
After upgrading to Smithy 1.37.0
(#906), upgrade to
getEffectiveAuthSchemes
usingNO_AUTH_AWARE
and remove redundantcode.
For
HttpAuthOption
, allow any auth scheme to generate thecorresponding
HttpAuthOption
function regardless of registering it incodegen.
For
HttpAuthScheme
, reduce code duplication by looking at "inherited"LanguageTarget
platforms (e.g.REACT_NATIVE
inherits fromBROWSER
).httpAuthSchemes
is only written in aruntimeConfig
ifthe
IdentityProvider
andSigner
are different between platforms, orif the registered
HttpAuthScheme
s are different.httpAuthSchemes
isalways written for
SHARED
as a default.For the
httpAuthSchemes
property on the client config interface,update it to
HttpAuthScheme[]
rather thanIdentityProviderConfiguration
.Also, add
@customAuth
auth scheme to generic tests.Testing
How was this change tested?
Everything is gated behind the
experimentalIdentityAndAuth
flag.Observed codegen diff between the
source
projection and theclient-identity-and-auth
projection insmithy-typescript-codegen-test
: https://gist.github.com/syall/03a85aa0578d37a78413d0689cdfb1ad#file-pr-907-diffHttpAuthOption
Auth options will be generated even for unregistered auth schemes, e.g.
@example.weather#customAuth
in thesmithy-typescript-codegen-test
:HttpAuthScheme
HttpAuthScheme
now acceptsIdentityProviderConfig
as a parameter, and by default will try to get an identity resolver from the config abstraction:Additional context
Add any other context about the PR here.
N/A.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.