首页 文章

使用来自用户池的SAML身份验证的令牌响应来检索AWS临时访问密钥

提问于
浏览
0

如何使用SAML身份验证与用户池的令牌响应来检索AWS临时访问密钥和进行API网关呼叫?

我已使用关联的App客户端配置了Cognito用户池 . 我已将Okta配置为第三方SAML身份提供商 . 使用亚马逊托管登录 https://[cognito domain name]/login?response_type=token&client_id=[your App client id]&redirect_uri=[your App client redirect URL] 我可以通过 Headers 中的 #access_token 重定向到我的ReactJS应用程序 .

我现在尝试用 #access_token 来调用API网关 . 我一直关注这个guide以及aws-amplify . 根据我的理解,我需要使用 #access_token 获取AWS访问密钥来调用API网关 .

我试图用以下代码执行此操作:

AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'us-east-1:xxxxxxx-xxxx-xxxx-xxxx-xxxxxx',
   Logins: {
      'cognito-idp.us-east-1.amazonaws.com/us-east-1_xxxxxx': #access_token
   }
});

但不确定这是如何与aws-amplify集成的,我还没有成功检索AWS临时访问密钥来进行API网关调用 .

我以前使用Cognito用户池中的用户工作,但现在我需要将Okta作为身份提供者包含在内 .

1 回答

  • 1

    我发现我需要 #id_token 而不是 #access_token 来完成我想要做的事情 . 我通过在Cognito Pool App客户端设置中选择以下选项启用了 #id_token
    enter image description here

    然后我能够关注Cognito hosted UI .

相关问题