public override async Task <RegeneratedSecret> Rekey(TimeSpan requestedValidPeriod)
        {
            Logger.LogInformation("Regenerating Service Bus key {0}", PolicyKey);
            IAuthorizationKeys newKeys = await Regenerate(PolicyKey);

            Logger.LogInformation("Successfully rekeyed Service Bus key {0}", PolicyKey);
            return(new RegeneratedSecret()
            {
                Expiry = DateTimeOffset.UtcNow + requestedValidPeriod,
                UserHint = Configuration.UserHint,
                NewSecretValue = GetKeyValue(PolicyKey, newKeys),
                NewConnectionString = GetConnectionStringValue(PolicyKey, newKeys)
            });
        }
Example #2
0
        /// <summary>
        /// Send Message to Azure Queue
        /// </summary>
        /// <param name="serviceBusName">Service Bus Connection string</param>
        /// <param name="queue">queue name</param>
        /// <param name="message">Brokered Message</param>
        public async void SendMessage(string serviceBusName, string queue, Message message)
        {
            try
            {
                IAuthorizationKeys keys = GetAuthroziationKeys(serviceBusName);

                QueueClient client = new QueueClient(serviceBusName, queue, ReceiveMode.PeekLock);
                client.SendAsync(message).Wait();
                await client.CloseAsync();
            }
            catch (Exception)
            {
                throw;
            }
        }
        public override async Task <RegeneratedSecret> GetSecretToUseDuringRekeying()
        {
            Logger.LogInformation("Getting temporary secret to use during rekeying from other ({0}) policy key...", OtherPolicyKey);
            IAuthorizationKeys otherKeys = await Get();

            Logger.LogInformation("Successfully retrieved temporary secret!");

            return(new RegeneratedSecret()
            {
                Expiry = DateTimeOffset.UtcNow + TimeSpan.FromMinutes(10),
                UserHint = Configuration.UserHint,
                NewSecretValue = GetKeyValue(OtherPolicyKey, otherKeys),
                NewConnectionString = GetConnectionStringValue(OtherPolicyKey, otherKeys)
            });
        }
Example #4
0
        /// <summary>
        /// Send Message to Azure Queue
        /// </summary>
        /// <param name="serviceBusName">Service Bus Connection string</param>
        /// <param name="queue">queue name</param>
        /// <param name="message">Brokered Message</param>
        public async void SendMessage <T>(string serviceBusName, string queue, T messageObject)
        {
            try
            {
                IAuthorizationKeys keys = GetAuthroziationKeys(serviceBusName);

                string      objectJson   = this.SerializeObjectToJson <T>(messageObject);
                byte[]      objectBytes  = Encoding.UTF8.GetBytes(objectJson);
                Message     queueMessage = new Message(objectBytes);
                QueueClient client       = new QueueClient(keys.PrimaryConnectionString, queue);
                client.SendAsync(queueMessage).Wait();//As per observation if we don't wait, No message added to queue. Try and check after removing Wait() call.
                await client.CloseAsync();
            }
            catch (Exception)
            {
                throw;
            }
        }