AWS:无法使用 sso 凭证登录 aws-sdk

AWS: Unable to login into aws-sdk using sso credentials

我正在尝试使用来自 node.js 应用程序的 SSO 凭据通过 AWS-SDK 访问 AWS 资源。 为此,我首先从 AWS CLI 创建了我的 SSO 配置文件,然后我尝试在应用程序中使用相同的配置文件 我尝试过使用以下方法:

Option1:
const AWS = require("aws-sdk");
const { defaultProvider } = require("@aws-sdk/credential-provider-node");
const route53 = new AWS.Route53({ credentials: defaultProvider({ profile: "my-sso-profile" })});

Option2:
const AWS = require("aws-sdk");
const { fromSSO } = require("@aws-sdk/credential-provider-sso");
const route53 = new AWS.Route53({ credentials: fromSSO ({ profile: "my-sso-profile" })});

我运行以下错误:

Error [CredentialsError]: Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1

甚至我已经使用(setx AWS_SDK_LOAD_CONFIG 1) 将环境变量AWS_SDK_LOAD_CONFIG 设置为1。我仍然面临同样的问题

我的配置文件位于 users/user/.aws/config 如下所示:

[profile my-sso-profile]
sso_start_url = https://*******.awsapps.com/start
sso_region = us-east-1
sso_account_id = *********
sso_role_name = PowerUserAccess
region = us-east-1
output = json

是否有任何其他方法可以使用 SSO 凭据或需要对上述代码进行任何更改?

问题已解决,因为用于检索凭据的 fromSSO returning 一个匿名函数将 return 一个承诺,我只是修改了如下代码:

const { fromSSO } = require("@aws-sdk/credential-provider-sso");
const credentials = await fromSSO({ profile: "default" })();
const route53 = new AWS.Route53({ credentials: credentials});