-
-
Notifications
You must be signed in to change notification settings - Fork 7k
[typescript-fetch] Support AWSv4 Signature #15929
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
base: master
Are you sure you want to change the base?
[typescript-fetch] Support AWSv4 Signature #15929
Conversation
closes OpenAPITools#12340 Signed-off-by: Jérôme Jutteau <jerome.jutteau@outscale.com>
thanks for the PR. cc @TiFu (2017/07) @taxpon (2017/07) @sebastianhaas (2017/07) @kenisteward (2017/07) @Vrolijkx (2017/09) @macjohnny (2018/01) @topce (2018/10) @akehir (2019/07) @petejohansonxo (2019/11) @amakhrov (2020/02) @davidgamero (2022/03) @mkusaka (2022/04) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be better to avoid vendor-specific code, and rather leverage the Middleware
mechanism (
openapi-generator/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache
Line 379 in 7a7ecc8
export interface Middleware { |
openapi-generator/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache
Line 36 in 7a7ecc8
return this.configuration.middleware || []; |
@TiFu wdyt?
{{/bodyParam}} | ||
const signer = new runtime.AwsV4Signer(this.configuration.awsV4SignerParameters); | ||
const signResult = await signer.sign('{{httpMethod}}', SignUrl, headerParameters, SignBody); | ||
//request.url = signResult.url; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
//request.url = signResult.url; |
const signer = new runtime.AwsV4Signer(this.configuration.awsV4SignerParameters); | ||
const signResult = await signer.sign('{{httpMethod}}', SignUrl, headerParameters, SignBody); | ||
//request.url = signResult.url; | ||
//request.method = signResult.method; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
//request.method = signResult.method; |
{{^withoutRuntimeChecks}} | ||
body: {{dataType}}ToJSON(requestParameters.{{paramName}}), | ||
const SignBody = JSON.stringify(request.body); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please rename to signBody
closes #12340
This PR propose to implement AWSv4 authentication method for typescript-fetch generator.
It has been used in https://github.com/outscale/osc-sdk-js project.
cc @leonyu.
PR checklist
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*
.For Windows users, please run the script in Git BASH.
master
(6.3.0) (minor release - breaking changes with fallbacks),7.0.x
(breaking changes without fallbacks)