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
(PureBasic) Amazon Cognito - Describe User PoolSee more Amazon Cognito ExamplesReturns the configuration information and metadata of the specified user pool. For more information, see https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html
IncludeFile "CkStringBuilder.pb" IncludeFile "CkAuthAws.pb" IncludeFile "CkJsonObject.pb" IncludeFile "CkRest.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. rest.i = CkRest::ckCreate() If rest.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i authAws.i = CkAuthAws::ckCreate() If authAws.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkAuthAws::setCkAccessKey(authAws, "AWS_ACCESS_KEY") CkAuthAws::setCkSecretKey(authAws, "AWS_SECRET_KEY") ; Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.) CkAuthAws::setCkRegion(authAws, "us-west-2") CkAuthAws::setCkServiceName(authAws, "cognito-idp") ; SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date CkRest::ckSetAuthAws(rest,authAws) ; URL: https://cognito-idp.us-west-2.amazonaws.com/ bTls.i = 1 port.i = 443 bAutoReconnect.i = 1 ; Use the same region as specified above. success = CkRest::ckConnect(rest,"cognito-idp.us-west-2.amazonaws.com",port,bTls,bAutoReconnect) If success <> 1 Debug "ConnectFailReason: " + Str(CkRest::ckConnectFailReason(rest)) Debug CkRest::ckLastErrorText(rest) CkRest::ckDispose(rest) CkAuthAws::ckDispose(authAws) ProcedureReturn EndIf ; Note: The above code does not need to be repeatedly called for each REST request. ; The rest object can be setup once, and then many requests can be sent. Chilkat will automatically ; reconnect within a FullRequest* method as needed. It is only the very first connection that is explicitly ; made via the Connect method. json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckUpdateString(json,"UserPoolId","us-west-2_yt6WzO3SA") CkRest::ckAddHeader(rest,"Content-Type","application/x-amz-json-1.0") CkRest::ckAddHeader(rest,"X-Amz-Target","AWSCognitoIdentityProviderService.DescribeUserPool") CkRest::ckAddHeader(rest,"Accept-Encoding","identity") sbRequestBody.i = CkStringBuilder::ckCreate() If sbRequestBody.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckEmitSb(json,sbRequestBody) sbResponseBody.i = CkStringBuilder::ckCreate() If sbResponseBody.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkRest::ckFullRequestSb(rest,"POST","/",sbRequestBody,sbResponseBody) If success <> 1 Debug CkRest::ckLastErrorText(rest) CkRest::ckDispose(rest) CkAuthAws::ckDispose(authAws) CkJsonObject::ckDispose(json) CkStringBuilder::ckDispose(sbRequestBody) CkStringBuilder::ckDispose(sbResponseBody) ProcedureReturn EndIf respStatusCode.i = CkRest::ckResponseStatusCode(rest) Debug "response status code = " + Str(respStatusCode) If respStatusCode <> 200 Debug "Response Status Code = " + Str(respStatusCode) Debug "Response Header:" Debug CkRest::ckResponseHeader(rest) Debug "Response Body:" Debug CkStringBuilder::ckGetAsString(sbResponseBody) CkRest::ckDispose(rest) CkAuthAws::ckDispose(authAws) CkJsonObject::ckDispose(json) CkStringBuilder::ckDispose(sbRequestBody) CkStringBuilder::ckDispose(sbResponseBody) ProcedureReturn EndIf jsonResponse.i = CkJsonObject::ckCreate() If jsonResponse.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckLoadSb(jsonResponse,sbResponseBody) CkJsonObject::setCkEmitCompact(jsonResponse, 0) Debug CkJsonObject::ckEmit(jsonResponse) ; Sample JSON response: ; (Sample code for parsing the JSON response is shown below) ; Use this online tool to generate parsing code from sample JSON: ; Generate Parsing Code from JSON ; { ; "UserPool": { ; "AccountRecoverySetting": { ; "RecoveryMechanisms": [ ; { ; "Name": "verified_phone_number", ; "Priority": 1 ; }, ; { ; "Name": "verified_email", ; "Priority": 2 ; } ; ] ; }, ; "AdminCreateUserConfig": { ; "AllowAdminCreateUserOnly": false, ; "InviteMessageTemplate": { ; "EmailMessage": "Your username is {username} and temporary password is {####}. ", ; "EmailSubject": "Your temporary password", ; "SMSMessage": "Your username is {username} and temporary password is {####}. " ; }, ; "UnusedAccountValidityDays": 7 ; }, ; "Arn": "arn:aws:cognito-idp:us-west-2:954491834127:userpool/us-west-2_yt6WzO3SA", ; "AutoVerifiedAttributes": [ ; "email", ; "phone_number" ; ], ; "CreationDate": 1.636388909817E9, ; "EmailConfiguration": { ; "EmailSendingAccount": "DEVELOPER", ; "From": "admin@chilkatsoft.com", ; "ReplyToEmailAddress": "admin@chilkatsoft.com", ; "SourceArn": "arn:aws:ses:us-west-2:954491834127:identity/admin@chilkatsoft.com" ; }, ; "EmailVerificationMessage": "Your verification code is {####}. ", ; "EmailVerificationSubject": "Your verification code", ; "EstimatedNumberOfUsers": 0, ; "Id": "us-west-2_yt6WzO3SA", ; "LambdaConfig": {}, ; "LastModifiedDate": 1.636388910377E9, ; "MfaConfiguration": "ON", ; "Name": "chilkat", ; "Policies": { ; "PasswordPolicy": { ; "MinimumLength": 8, ; "RequireLowercase": true, ; "RequireNumbers": true, ; "RequireSymbols": true, ; "RequireUppercase": true, ; "TemporaryPasswordValidityDays": 7 ; } ; }, ; "SchemaAttributes": [ ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": false, ; "Name": "sub", ; "Required": true, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "1" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "name", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "given_name", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "family_name", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "middle_name", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "nickname", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "preferred_username", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "profile", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "picture", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "website", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "email", ; "Required": true, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "Boolean", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "email_verified", ; "Required": false ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "gender", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "birthdate", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "10", ; "MinLength": "10" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "zoneinfo", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "locale", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "phone_number", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "Boolean", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "phone_number_verified", ; "Required": false ; }, ; { ; "AttributeDataType": "String", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "address", ; "Required": false, ; "StringAttributeConstraints": { ; "MaxLength": "2048", ; "MinLength": "0" ; } ; }, ; { ; "AttributeDataType": "Number", ; "DeveloperOnlyAttribute": false, ; "Mutable": true, ; "Name": "updated_at", ; "NumberAttributeConstraints": { ; "MinValue": "0" ; }, ; "Required": false ; } ; ], ; "SmsAuthenticationMessage": "Your verification code is {####}. ", ; "SmsConfiguration": { ; "ExternalId": "94b17737-216b-4cf7-a29e-17e990e91300", ; "SnsCallerArn": "arn:aws:iam::954491834127:role/service-role/chilkat-SMS-Role" ; }, ; "SmsVerificationMessage": "Your verification code is {####}. ", ; "UserPoolTags": { ; "sampleUserPoolTag": "test" ; }, ; "UsernameConfiguration": { ; "CaseSensitive": false ; }, ; "VerificationMessageTemplate": { ; "DefaultEmailOption": "CONFIRM_WITH_CODE", ; "EmailMessage": "Your verification code is {####}. ", ; "EmailSubject": "Your verification code", ; "SmsMessage": "Your verification code is {####}. " ; } ; } ; } Name.s Priority.i strVal.s AttributeDataType.s DeveloperOnlyAttribute.i Mutable.i Required.i StringAttributeConstraintsMaxLength.s StringAttributeConstraintsMinLength.s NumberAttributeConstraintsMinValue.s UserPoolAdminCreateUserConfigAllowAdminCreateUserOnly.i = CkJsonObject::ckBoolOf(jsonResponse,"UserPool.AdminCreateUserConfig.AllowAdminCreateUserOnly") UserPoolAdminCreateUserConfigInviteMessageTemplateEmailMessage.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.AdminCreateUserConfig.InviteMessageTemplate.EmailMessage") UserPoolAdminCreateUserConfigInviteMessageTemplateEmailSubject.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.AdminCreateUserConfig.InviteMessageTemplate.EmailSubject") UserPoolAdminCreateUserConfigInviteMessageTemplateSMSMessage.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.AdminCreateUserConfig.InviteMessageTemplate.SMSMessage") UserPoolAdminCreateUserConfigUnusedAccountValidityDays.i = CkJsonObject::ckIntOf(jsonResponse,"UserPool.AdminCreateUserConfig.UnusedAccountValidityDays") UserPoolArn.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.Arn") UserPoolCreationDate.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.CreationDate") UserPoolEmailConfigurationEmailSendingAccount.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.EmailConfiguration.EmailSendingAccount") UserPoolEmailConfigurationFrom.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.EmailConfiguration.From") UserPoolEmailConfigurationReplyToEmailAddress.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.EmailConfiguration.ReplyToEmailAddress") UserPoolEmailConfigurationSourceArn.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.EmailConfiguration.SourceArn") UserPoolEmailVerificationMessage.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.EmailVerificationMessage") UserPoolEmailVerificationSubject.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.EmailVerificationSubject") UserPoolEstimatedNumberOfUsers.i = CkJsonObject::ckIntOf(jsonResponse,"UserPool.EstimatedNumberOfUsers") UserPoolId.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.Id") UserPoolLastModifiedDate.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.LastModifiedDate") UserPoolMfaConfiguration.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.MfaConfiguration") UserPoolName.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.Name") UserPoolPoliciesPasswordPolicyMinimumLength.i = CkJsonObject::ckIntOf(jsonResponse,"UserPool.Policies.PasswordPolicy.MinimumLength") UserPoolPoliciesPasswordPolicyRequireLowercase.i = CkJsonObject::ckBoolOf(jsonResponse,"UserPool.Policies.PasswordPolicy.RequireLowercase") UserPoolPoliciesPasswordPolicyRequireNumbers.i = CkJsonObject::ckBoolOf(jsonResponse,"UserPool.Policies.PasswordPolicy.RequireNumbers") UserPoolPoliciesPasswordPolicyRequireSymbols.i = CkJsonObject::ckBoolOf(jsonResponse,"UserPool.Policies.PasswordPolicy.RequireSymbols") UserPoolPoliciesPasswordPolicyRequireUppercase.i = CkJsonObject::ckBoolOf(jsonResponse,"UserPool.Policies.PasswordPolicy.RequireUppercase") UserPoolPoliciesPasswordPolicyTemporaryPasswordValidityDays.i = CkJsonObject::ckIntOf(jsonResponse,"UserPool.Policies.PasswordPolicy.TemporaryPasswordValidityDays") UserPoolSmsAuthenticationMessage.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.SmsAuthenticationMessage") UserPoolSmsConfigurationExternalId.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.SmsConfiguration.ExternalId") UserPoolSmsConfigurationSnsCallerArn.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.SmsConfiguration.SnsCallerArn") UserPoolSmsVerificationMessage.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.SmsVerificationMessage") UserPoolUserPoolTagsSampleUserPoolTag.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.UserPoolTags.sampleUserPoolTag") UserPoolUsernameConfigurationCaseSensitive.i = CkJsonObject::ckBoolOf(jsonResponse,"UserPool.UsernameConfiguration.CaseSensitive") UserPoolVerificationMessageTemplateDefaultEmailOption.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.VerificationMessageTemplate.DefaultEmailOption") UserPoolVerificationMessageTemplateEmailMessage.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.VerificationMessageTemplate.EmailMessage") UserPoolVerificationMessageTemplateEmailSubject.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.VerificationMessageTemplate.EmailSubject") UserPoolVerificationMessageTemplateSmsMessage.s = CkJsonObject::ckStringOf(jsonResponse,"UserPool.VerificationMessageTemplate.SmsMessage") i.i = 0 count_i.i = CkJsonObject::ckSizeOfArray(jsonResponse,"UserPool.AccountRecoverySetting.RecoveryMechanisms") While i < count_i CkJsonObject::setCkI(jsonResponse, i) Name = CkJsonObject::ckStringOf(jsonResponse,"UserPool.AccountRecoverySetting.RecoveryMechanisms[i].Name") Priority = CkJsonObject::ckIntOf(jsonResponse,"UserPool.AccountRecoverySetting.RecoveryMechanisms[i].Priority") i = i + 1 Wend i = 0 count_i = CkJsonObject::ckSizeOfArray(jsonResponse,"UserPool.AutoVerifiedAttributes") While i < count_i CkJsonObject::setCkI(jsonResponse, i) strVal = CkJsonObject::ckStringOf(jsonResponse,"UserPool.AutoVerifiedAttributes[i]") i = i + 1 Wend i = 0 count_i = CkJsonObject::ckSizeOfArray(jsonResponse,"UserPool.SchemaAttributes") While i < count_i CkJsonObject::setCkI(jsonResponse, i) AttributeDataType = CkJsonObject::ckStringOf(jsonResponse,"UserPool.SchemaAttributes[i].AttributeDataType") DeveloperOnlyAttribute = CkJsonObject::ckBoolOf(jsonResponse,"UserPool.SchemaAttributes[i].DeveloperOnlyAttribute") Mutable = CkJsonObject::ckBoolOf(jsonResponse,"UserPool.SchemaAttributes[i].Mutable") Name = CkJsonObject::ckStringOf(jsonResponse,"UserPool.SchemaAttributes[i].Name") Required = CkJsonObject::ckBoolOf(jsonResponse,"UserPool.SchemaAttributes[i].Required") StringAttributeConstraintsMaxLength = CkJsonObject::ckStringOf(jsonResponse,"UserPool.SchemaAttributes[i].StringAttributeConstraints.MaxLength") StringAttributeConstraintsMinLength = CkJsonObject::ckStringOf(jsonResponse,"UserPool.SchemaAttributes[i].StringAttributeConstraints.MinLength") NumberAttributeConstraintsMinValue = CkJsonObject::ckStringOf(jsonResponse,"UserPool.SchemaAttributes[i].NumberAttributeConstraints.MinValue") i = i + 1 Wend CkRest::ckDispose(rest) CkAuthAws::ckDispose(authAws) CkJsonObject::ckDispose(json) CkStringBuilder::ckDispose(sbRequestBody) CkStringBuilder::ckDispose(sbResponseBody) CkJsonObject::ckDispose(jsonResponse) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.