title: How to call AssumeRoleWithSAMLAsync without AmazonSecurityTokenServiceClient
body: <p>I am calling AssumeRoleWithSAMLAsync using AmazonSecurityTokenServiceClient, while creating the client object it is mandatory to configure a credentials where as my intention is to create temporary credentials using AssumeRoleWithSaml. </p>
  
  <p>The documentation of AWS STS service says that AssumeRoleWithSaml doesn't require credentials but client constructor requires credentials. </p>
  
  <p>I also tried calling api directly with following parameters</p>
  
  <p><code>https://sts.amazonaws.com/ ?Version=2011-06-15&amp;Action=AssumeRoleWithSAML&amp;RoleArn=arn:aws:iam::xxx:role/xxx&amp;DurationSeconds=900&amp;PrincipalArn=arn:aws:iam::xxx:saml-provider/adfs&amp;SAMLAssertion=base64 ecoded SAML token</code></p>
  
  <p>But this also throws error
  <code>
  &lt;Code&gt;InvalidIdentityToken&lt;/Code&gt;
          &lt;Message&gt;Invalid base64 SAMLResponse (Service: AWSOpenIdDiscoveryService; Status Code: 400; Error Code: AuthSamlInvalidSamlResponseException; Request ID: xx-xxxx-xxx)&lt;/Message&gt;
  </code>
  When I configure credentials, I am able to create temporary credentials. Hence I am sure my SAML token is correct.</p>
  
  <p>Can anyone let me know how to call AssumeRoleWithSAML from postman? or how can I call it via code without instantiating client?</p>
  
  <p>It seems to me a chicken and egg problem.</p>