Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerBuilder) AWS Security Token Service (STS) GetSessionTokenSee more AWS Security Token Service ExamplesReturns a set of temporary credentials for an AWS account or IAM user. For more information, see https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html
integer li_rc oleobject loo_Rest integer li_BTls integer li_Port integer li_BAutoReconnect integer li_Success oleobject loo_AuthAws string ls_ResponseXml oleobject loo_Xml string ls_GetSessionTokenResponse_xmlns string ls_AccessKeyId string ls_SecretAccessKey string ls_SessionToken string ls_Expiration string ls_RequestId // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Rest = create oleobject // Use "Chilkat_9_5_0.Rest" for versions of Chilkat < 10.0.0 li_rc = loo_Rest.ConnectToNewObject("Chilkat.Rest") if li_rc < 0 then destroy loo_Rest MessageBox("Error","Connecting to COM object failed") return end if // Connect to the Amazon AWS REST server. // such as https://sts.us-west-2.amazonaws.com/ li_BTls = 1 li_Port = 443 li_BAutoReconnect = 1 li_Success = loo_Rest.Connect("sts.us-west-2.amazonaws.com",li_Port,li_BTls,li_BAutoReconnect) // Provide AWS credentials for the REST call. loo_AuthAws = create oleobject // Use "Chilkat_9_5_0.AuthAws" for versions of Chilkat < 10.0.0 li_rc = loo_AuthAws.ConnectToNewObject("Chilkat.AuthAws") loo_AuthAws.AccessKey = "AWS_ACCESS_KEY" loo_AuthAws.SecretKey = "AWS_SECRET_KEY" // the region should match our URL above.. // See https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html loo_AuthAws.Region = "us-west-2" loo_AuthAws.ServiceName = "sts" loo_Rest.SetAuthAws(loo_AuthAws) loo_Rest.AddQueryParam("Version","2011-06-15") loo_Rest.AddQueryParam("Action","GetSessionToken") loo_Rest.AddQueryParam("DurationSeconds","3600") ls_ResponseXml = loo_Rest.FullRequestNoBody("GET","/") if loo_Rest.LastMethodSuccess <> 1 then Write-Debug loo_Rest.LastErrorText destroy loo_Rest destroy loo_AuthAws return end if // A successful response will have a status code equal to 200. if loo_Rest.ResponseStatusCode <> 200 then Write-Debug "response status code = " + string(loo_Rest.ResponseStatusCode) Write-Debug "response status text = " + loo_Rest.ResponseStatusText Write-Debug "response header: " + loo_Rest.ResponseHeader Write-Debug "response body: " + ls_ResponseXml destroy loo_Rest destroy loo_AuthAws return end if // Examine the successful XML response (shown below) loo_Xml = create oleobject // Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml") loo_Xml.LoadXml(ls_ResponseXml) Write-Debug loo_Xml.GetXml() // Sample response: // <?xml version="1.0" encoding="utf-8"?> // <GetSessionTokenResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"> // <GetSessionTokenResult> // <Credentials> // <AccessKeyId>AS........T4N</AccessKeyId> // <SecretAccessKey>05W........ARPMr</SecretAccessKey> // <SessionToken>IQoJb3J........llpIMI=</SessionToken> // <Expiration>2022-09-07T00:22:51Z</Expiration> // </Credentials> // </GetSessionTokenResult> // <ResponseMetadata> // <RequestId>8bad22cc-1c55-4265-a010-45d139359404</RequestId> // </ResponseMetadata> // </GetSessionTokenResponse> // Sample parse code: ls_GetSessionTokenResponse_xmlns = loo_Xml.GetAttrValue("xmlns") ls_AccessKeyId = loo_Xml.GetChildContent("GetSessionTokenResult|Credentials|AccessKeyId") ls_SecretAccessKey = loo_Xml.GetChildContent("GetSessionTokenResult|Credentials|SecretAccessKey") ls_SessionToken = loo_Xml.GetChildContent("GetSessionTokenResult|Credentials|SessionToken") ls_Expiration = loo_Xml.GetChildContent("GetSessionTokenResult|Credentials|Expiration") ls_RequestId = loo_Xml.GetChildContent("ResponseMetadata|RequestId") // Save the session token XML to a file for use by another Chilkat example.. li_Success = loo_Xml.SaveXml("qa_data/tokens/aws_session_token.xml") destroy loo_Rest destroy loo_AuthAws destroy loo_Xml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.