//-----------------------------------------------------------------------
//
// Copyright (c) Outercurve Foundation. All rights reserved.
//
//-----------------------------------------------------------------------
namespace DotNetOpenAuth.Messaging.Bindings {
using System;
using DotNetOpenAuth.Messaging;
///
/// The contract a message that has an allowable time window for processing must implement.
///
///
/// All replay-protected messages must also be set to expire so the nonces do not have
/// to be stored indefinitely.
///
internal interface IReplayProtectedProtocolMessage : IExpiringProtocolMessage, IDirectedProtocolMessage {
///
/// Gets the context within which the nonce must be unique.
///
///
/// The value of this property must be a value assigned by the nonce consumer
/// to represent the entity that generated the nonce. The value must never be
/// null but may be the empty string.
/// This value is treated as case-sensitive.
///
string NonceContext { get; }
///
/// Gets or sets the nonce that will protect the message from replay attacks.
///
string Nonce { get; set; }
}
}