Skip to content

Commit

Permalink
fix(credential-provider-node): only skip sso init if all sso fields a…
Browse files Browse the repository at this point in the history
…re not present (#5746)
  • Loading branch information
kuhe committed Jan 30, 2024
1 parent b87f5e0 commit b0b840a
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
10 changes: 10 additions & 0 deletions packages/credential-provider-node/src/defaultProvider.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,16 @@ describe(defaultProvider.name, () => {
expect(fromSSO).not.toHaveBeenCalled();
});

it("incomplete sso information should still engage the SSO provider", async () => {
await defaultProvider({})();
expect(fromSSO).not.toHaveBeenCalled();

await defaultProvider({
ssoRegion: "a-test-region",
})();
expect(fromSSO).toHaveBeenCalled();
});

describe(credentialsTreatedAsExpired.name, () => {
const mockDateNow = Date.now();
beforeEach(async () => {
Expand Down
4 changes: 2 additions & 2 deletions packages/credential-provider-node/src/defaultProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ export const defaultProvider = (init: DefaultProviderInit = {}): MemoizedProvide
]),
async () => {
init.logger?.debug("@aws-sdk/credential-provider-node", "defaultProvider::fromSSO");
const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName } = init;
if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {
const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;
if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {
throw new CredentialsProviderError(
"Skipping SSO provider in default chain (inputs do not include SSO fields)."
);
Expand Down

0 comments on commit b0b840a

Please sign in to comment.