Skip to content

Commit 1cc4de9

Browse files
authored
chore(client-sso-oidc): move sts to peer (#6224)
1 parent 80c133b commit 1cc4de9

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

Diff for: clients/client-sso-oidc/package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
"dependencies": {
2121
"@aws-crypto/sha256-browser": "5.2.0",
2222
"@aws-crypto/sha256-js": "5.2.0",
23-
"@aws-sdk/client-sts": "*",
2423
"@aws-sdk/core": "*",
2524
"@aws-sdk/credential-provider-node": "*",
2625
"@aws-sdk/middleware-host-header": "*",
@@ -59,6 +58,9 @@
5958
"@smithy/util-utf8": "^3.0.0",
6059
"tslib": "^2.6.2"
6160
},
61+
"peerDependencies": {
62+
"@aws-sdk/client-sts": "*"
63+
},
6264
"devDependencies": {
6365
"@tsconfig/node16": "16.1.3",
6466
"@types/node": "^16.18.96",

Diff for: codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsCredentialProviderUtils.java

+11-3
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,21 @@ private AwsCredentialProviderUtils() {}
3333
* The dependencies are skipped in first party credential providers to avoid circular dependency issue.
3434
*/
3535
public static void addAwsCredentialProviderDependencies(ServiceShape service, TypeScriptWriter writer) {
36-
if (!service.getId().equals(ShapeId.from("com.amazonaws.ssooidc#AWSSSOOIDCService"))) {
36+
boolean isStsClient =
37+
service.getId().equals(ShapeId.from("com.amazonaws.sts#AWSSecurityTokenServiceV20110615"));
38+
boolean isSsoOidcClient = service.getId().equals(ShapeId.from("com.amazonaws.ssooidc#AWSSSOOIDCService"));
39+
if (!isSsoOidcClient) {
3740
// SSO OIDC client is required in Sso credential provider
3841
writer.addDependency(AwsDependency.SSO_OIDC_CLIENT);
3942
}
40-
if (!service.getId().equals(ShapeId.from("com.amazonaws.sts#AWSSecurityTokenServiceV20110615"))) {
43+
if (!isStsClient) {
4144
// STS client is required in Ini and WebIdentity credential providers
42-
writer.addDependency(AwsDependency.STS_CLIENT);
45+
if (isSsoOidcClient) {
46+
// For the SSO OIDC client, adding the STS client as a peerDependency avoids circular dependency issues.
47+
writer.addDependency(AwsDependency.STS_CLIENT_PEER);
48+
} else {
49+
writer.addDependency(AwsDependency.STS_CLIENT);
50+
}
4351
}
4452
}
4553
}

Diff for: codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsDependency.java

+1
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ public enum AwsDependency implements Dependency {
6767
TRANSCRIBE_STREAMING_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-transcribe-streaming"),
6868
STS_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-sts"),
6969
STS_CLIENT(NORMAL_DEPENDENCY, "@aws-sdk/client-sts"),
70+
STS_CLIENT_PEER(PEER_DEPENDENCY, "@aws-sdk/client-sts"),
7071
SSO_OIDC_CLIENT(NORMAL_DEPENDENCY, "@aws-sdk/client-sso-oidc"),
7172
MIDDLEWARE_LOGGER(NORMAL_DEPENDENCY, "@aws-sdk/middleware-logger"),
7273
MIDDLEWARE_USER_AGENT("dependencies", "@aws-sdk/middleware-user-agent"),

0 commit comments

Comments
 (0)