public async Task Queue(string routingKey, object message) { CloudQueue azureQueue = _azureQueueClient.GetQueueReference(routingKey.ToLower()); await azureQueue.AddMessageAsync( CloudQueueMessage.CreateCloudQueueMessageFromByteArray(_serializationService.SerializeToBytes(message)) ); }
public async Task <SerializedAuthorizationToken> GenerateAuthorizationToken(User user, IEnumerable <Permission> permissions) { return(new SerializedAuthorizationToken( Convert.ToBase64String( _serializationService.SerializeToBytes( await _encryptThenMacService.EncryptThenMac( _serializationService.SerializeToBytes(new AuthorizationToken() { User = user, Permissions = permissions.ToList(), AuthorizationValidForMinutes = _options.AuthorizationValidForMinutes, RefreshValidForMinutes = _options.RefreshValidForMinutes }) ) ) ) )); }
public async Task <EncryptThenMacData> EncryptThenMac(byte[] data) { AesEncryptedData aesEncryptedData = await _aesEncryptionService.Encrypt(data); byte[] serializedAesEncryptedData = _serializationService.SerializeToBytes(aesEncryptedData); byte[] hmac = await _hmacService.Generate(serializedAesEncryptedData); return(new EncryptThenMacData() { Data = Convert.ToBase64String(serializedAesEncryptedData), Hmac = Convert.ToBase64String(hmac) }); }