在Python Boto3中将AWS Cognito Identity与OpenID Salesforce结合使用

时间:2018-12-15 09:46:46

标签: python amazon-web-services salesforce boto3 amazon-cognito

我正在为一个应用程序执行POC,该应用程序将使用来自Openforce的Salesforce的SSO,并将id_token传递给认知用户身份以获取s3的临时凭据。我已经在AWS / Salesforce上设置了所有角色,服务和应用程序。启用未经授权的身份访问后,我便可以访问s3。但是,每当我尝试通过id_token进行身份验证访问时,都会抛出此错误:

  

botocore.errorfactory.NotAuthorizedException:发生错误   (NotAuthorizedException)调用GetId操作时:Invalid   登录令牌。颁发者与providerName不匹配

我在这里https://aws.amazon.com/blogs/security/building-an-app-using-amazon-cognito-and-an-openid-connect-identity-provider/

我正在使用python Boto3。这是我当前的代码:

Base

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

显然,问题出在provider_url,提示错误。我只是将login.salesforce.com放进去,而我不得不将其更改为id_token作为发行者ID返回的内容。我必须在IAM的AWS访问提供程序以及代码中进行更改。