Skip to content

Commit b0b840a

Browse files
authoredJan 30, 2024
fix(credential-provider-node): only skip sso init if all sso fields are not present (#5746)
1 parent b87f5e0 commit b0b840a

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed
 

‎packages/credential-provider-node/src/defaultProvider.spec.ts

+10
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,16 @@ describe(defaultProvider.name, () => {
128128
expect(fromSSO).not.toHaveBeenCalled();
129129
});
130130

131+
it("incomplete sso information should still engage the SSO provider", async () => {
132+
await defaultProvider({})();
133+
expect(fromSSO).not.toHaveBeenCalled();
134+
135+
await defaultProvider({
136+
ssoRegion: "a-test-region",
137+
})();
138+
expect(fromSSO).toHaveBeenCalled();
139+
});
140+
131141
describe(credentialsTreatedAsExpired.name, () => {
132142
const mockDateNow = Date.now();
133143
beforeEach(async () => {

‎packages/credential-provider-node/src/defaultProvider.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ export const defaultProvider = (init: DefaultProviderInit = {}): MemoizedProvide
6666
]),
6767
async () => {
6868
init.logger?.debug("@aws-sdk/credential-provider-node", "defaultProvider::fromSSO");
69-
const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName } = init;
70-
if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {
69+
const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;
70+
if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {
7171
throw new CredentialsProviderError(
7272
"Skipping SSO provider in default chain (inputs do not include SSO fields)."
7373
);

0 commit comments

Comments
 (0)
Please sign in to comment.