具有AWS STS的ID4和临时令牌和SQS

时间:2018-08-23 07:55:31

标签: amazon-web-services identityserver4

我试图弄清楚如何获取Windows WPF应用程序以安全地访问AWS队列,而不必在客户端上存储AWS凭证。

我的WPF应用在身份服务器中具有凭据。我以为通过将我的ID服务器添加为AWS IAM中的ID提供程序,然后可以使用我的ID服务器证书创建一个临时AWS令牌。

但是...这远高于我的智商水平:/

有人有样品吗?博客文章?有视频吗?

谢谢

更多

使用以下代码,我可以从理论上根据令牌创建临时AWS凭证:

var stsclient = new Amazon.SecurityToken.AmazonSecurityTokenServiceClient(Amazon.RegionEndpoint.USEast1);

      var response = await stsclient.AssumeRoleWithWebIdentityAsync(new AssumeRoleWithWebIdentityRequest
      {
        DurationSeconds = 3600,
        //ProviderId = " identity.blah",
        RoleArn = "arn:aws:iam::account:role/rolename",
        RoleSessionName = "app1",
        WebIdentityToken = myToken
      });

      AssumedRoleUser assumedRoleUser = response.AssumedRoleUser;
      string audience = response.Audience;
      Credentials credentials = response.Credentials;
      var packedPolicySize = response.PackedPolicySize;
      string provider = response.Provider;
      string subjectFromWebIdentityToken = response.SubjectFromWebIdentityToken;

但是,我拥有的令牌是针对客户而非用户的,因此它是访问令牌。

当我尝试此代码时,它抱怨没有'sub'声明-这是有道理的,我需要使用一个身份令牌,但是要这样做,我需要使用用户的登录名和令牌。

0 个答案:

没有答案