Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var amqps   = "amqps://*****:*****@effortlessapi-rmq.ssot.me/ej-authorizersbysubscription";
            var guest   = new SMQGuest(amqps);
            var payload = guest.CreatePayload();

            payload.EmailAddress = "*****@*****.**";
            payload.DemoPassword = "******";
            var waiting = false;

            guest.ValidateTemporaryAccessToken(payload, (reply, bdea) =>
            {
                if (!String.IsNullOrEmpty(reply.ErrorMessage))
                {
                    throw new Exception("Invalid username/password");
                }
                var user         = new SMQSSioUser(amqps);
                user.AccessToken = reply.AccessToken;
                payload          = user.CreatePayload();

                user.GetLicenseBundles(payload, (nsReply, nsBdea) =>
                {
                    Console.WriteLine(JsonConvert.SerializeObject(nsReply.LicenseBundles, Formatting.Indented));
                    waiting = false;
                }, (error, ebdea) =>
                {
                    Console.WriteLine("ERROR: {0}", error.ErrorMessage);
                    waiting = false;
                });
            }, (error, ebdea) =>
            {
                Console.WriteLine("ERROR: {0}", error.ErrorMessage);
                waiting = false;
            });
            Task.Factory.StartNew(() =>
            {
                while (waiting)
                {
                    Thread.Sleep(10);
                }
            }).Wait();
        }
        public static EffortlessAPI.SSio.SassyMQ.StandardPayload IssueSSioLicense(string licensorsSSioJWT, string licenseBundleSKU, string emailAddress)
        {
            EffortlessAPI.SSio.SassyMQ.StandardPayload response;
            if (String.IsNullOrEmpty(licenseBundleSKU))
            {
                throw new Exception("Name of payload.LicenseBundle is required");
            }
            var ssioUser = SMQSSioUser.FromAccessToken(licensorsSSioJWT);

            var ssioPayload = ssioUser.CreatePayload();

            ssioPayload.EmailAddress = emailAddress;

            // ej's access token
            ssioPayload.BrandLicense = new BrandLicense()
            {
                Name = licenseBundleSKU
            };

            var webClient   = new System.Net.WebClient();
            var payloadJson = JsonConvert.SerializeObject(ssioPayload);

            try
            {
                var resultStr = webClient.UploadString("https://fnp6pmuu87.execute-api.us-east-2.amazonaws.com/default/abs_IssueLicense", "POST", payloadJson);
                response = JsonConvert.DeserializeObject <EffortlessAPI.SSio.SassyMQ.StandardPayload>(resultStr);
            }
            catch (System.Net.WebException wex)
            {
                using (var sr = new System.IO.StreamReader(wex.Response.GetResponseStream()))
                {
                    var message = sr.ReadToEnd();
                    throw new Exception(message);
                }
            }

            return(response);
        }