Beispiel #1
0
        public JObject FunctionHandler(JObject input)
        {
            LambdaLogger.Log(JObject.FromObject(input).ToString());
            string accountId = input.SelectToken("CreateAccountStatus.CreateAccountStatus.AccountId").ToString();

            var credentials = AssumeIdentity.AssumeRole(accountId).Credentials;

            string accessKey    = credentials.AccessKeyId;
            string secretkey    = credentials.SecretAccessKey;
            string sessionToken = credentials.SessionToken;

            AmazonIdentityManagementServiceClient client = new AmazonIdentityManagementServiceClient(accessKey, secretkey, sessionToken);

            CreateSAMLProviderRequest request = new CreateSAMLProviderRequest()
            {
                Name = "ADFS",
                SAMLMetadataDocument = MetadataXML()
            };

            CreateSAMLProviderResponse response = client.CreateSAMLProviderAsync(request).Result;

            JObject outputObject = new JObject();

            outputObject.Add("CreateSAMLProviderResponse", JObject.FromObject(response));
            outputObject.Add("CreateAccountResponse", input.SelectToken("CreateAccountStatus"));
            outputObject.Add("EventData", input.SelectToken("EventData"));

            return(outputObject);
        }
Beispiel #2
0
        public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context)
        {
            CreateSAMLProviderResponse response = new CreateSAMLProviderResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.IsStartElement)
                {
                    if (context.TestExpression("CreateSAMLProviderResult", 2))
                    {
                        UnmarshallResult(context, response);
                        continue;
                    }

                    if (context.TestExpression("ResponseMetadata", 2))
                    {
                        response.ResponseMetadata = ResponseMetadataUnmarshaller.Instance.Unmarshall(context);
                    }
                }
            }

            return(response);
        }
Beispiel #3
0
        private static void UnmarshallResult(XmlUnmarshallerContext context, CreateSAMLProviderResponse response)
        {
            int originalDepth = context.CurrentDepth;
            int targetDepth   = originalDepth + 1;

            if (context.IsStartOfDocument)
            {
                targetDepth += 2;
            }

            while (context.ReadAtDepth(originalDepth))
            {
                if (context.IsStartElement || context.IsAttribute)
                {
                    if (context.TestExpression("SAMLProviderArn", targetDepth))
                    {
                        var unmarshaller = StringUnmarshaller.Instance;
                        response.SAMLProviderArn = unmarshaller.Unmarshall(context);
                        continue;
                    }
                }
            }

            return;
        }
Beispiel #4
0
        private static void CreateSAMLProvider(String Name, String MetadataFile)
        {
            if (String.IsNullOrEmpty(Token))
            {
                stsClient = new AmazonIdentityManagementServiceClient(AccessKeyId, SecretKey, iamconfig);
            }
            else
            {
                stsClient = new AmazonIdentityManagementServiceClient(AccessKeyId, SecretKey, Token, iamconfig);
            }

            try
            {
                CreateSAMLProviderRequest Req = new CreateSAMLProviderRequest();
                if (File.Exists(MetadataFile))
                {
                    String Metadata = File.ReadAllText(MetadataFile);
                    Req.SAMLMetadataDocument = Metadata;
                    Req.Name = Name;

                    CreateSAMLProviderResponse response = stsClient.CreateSAMLProvider(Req);
                    Console.WriteLine("Saml Provider Created successfully.");
                }
                else
                {
                    Console.WriteLine("Metadata file missing");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error occured while creating user. " + ex.ToString());
            }
        }