diff options
Diffstat (limited to 'src/DotNetOpenAuth.InfoCard/InfoCard/Token/Token.cs')
-rw-r--r-- | src/DotNetOpenAuth.InfoCard/InfoCard/Token/Token.cs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/DotNetOpenAuth.InfoCard/InfoCard/Token/Token.cs b/src/DotNetOpenAuth.InfoCard/InfoCard/Token/Token.cs index 0660ec7..2ac1788 100644 --- a/src/DotNetOpenAuth.InfoCard/InfoCard/Token/Token.cs +++ b/src/DotNetOpenAuth.InfoCard/InfoCard/Token/Token.cs @@ -18,11 +18,11 @@ namespace DotNetOpenAuth.InfoCard { using System.Xml; using System.Xml.XPath; using DotNetOpenAuth.Messaging; + using Validation; /// <summary> /// The decrypted token that was submitted as an Information Card. /// </summary> - [ContractVerification(true)] public class Token { /// <summary> /// Backing field for the <see cref="Claims"/> property. @@ -44,8 +44,7 @@ namespace DotNetOpenAuth.InfoCard { [SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times", Justification = "Not a problem for this type."), SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "False positive")] private Token(string tokenXml, Uri audience, TokenDecryptor decryptor) { Requires.NotNullOrEmpty(tokenXml, "tokenXml"); - Requires.True(decryptor != null || !IsEncrypted(tokenXml), null); - Contract.Ensures(this.AuthorizationContext != null); + Requires.That(decryptor != null || !IsEncrypted(tokenXml), "decryptor", "Required when tokenXml is encrypted."); byte[] decryptedBytes; string decryptedString; @@ -53,12 +52,12 @@ namespace DotNetOpenAuth.InfoCard { using (StringReader xmlReader = new StringReader(tokenXml)) { var readerSettings = MessagingUtilities.CreateUntrustedXmlReaderSettings(); using (XmlReader tokenReader = XmlReader.Create(xmlReader, readerSettings)) { - Contract.Assume(tokenReader != null); // BCL contract should say XmlReader.Create result != null + Assumes.True(tokenReader != null); // BCL contract should say XmlReader.Create result != null if (IsEncrypted(tokenReader)) { Logger.InfoCard.DebugFormat("Incoming SAML token, before decryption: {0}", tokenXml); decryptedBytes = decryptor.DecryptToken(tokenReader); decryptedString = Encoding.UTF8.GetString(decryptedBytes); - Contract.Assume(decryptedString != null); // BCL contracts should be enhanced here + Assumes.True(decryptedString != null); // BCL contracts should be enhanced here } else { decryptedBytes = Encoding.UTF8.GetBytes(tokenXml); decryptedString = tokenXml; @@ -118,7 +117,7 @@ namespace DotNetOpenAuth.InfoCard { /// </summary> public string SiteSpecificId { get { - Requires.ValidState(this.Claims.ContainsKey(ClaimTypes.PPID) && !string.IsNullOrEmpty(this.Claims[ClaimTypes.PPID])); + RequiresEx.ValidState(this.Claims.ContainsKey(ClaimTypes.PPID) && !string.IsNullOrEmpty(this.Claims[ClaimTypes.PPID])); string ppidValue; ErrorUtilities.VerifyOperation(this.Claims.TryGetValue(ClaimTypes.PPID, out ppidValue) && ppidValue != null, InfoCardStrings.PpidClaimRequired); return TokenUtility.CalculateSiteSpecificID(ppidValue); @@ -181,7 +180,6 @@ namespace DotNetOpenAuth.InfoCard { public static Token Read(string tokenXml, Uri audience, IEnumerable<SecurityToken> decryptionTokens) { Requires.NotNullOrEmpty(tokenXml, "tokenXml"); Requires.NotNull(decryptionTokens, "decryptionTokens"); - Contract.Ensures(Contract.Result<Token>() != null); TokenDecryptor decryptor = null; @@ -215,7 +213,7 @@ namespace DotNetOpenAuth.InfoCard { } try { - Contract.Assume(tokenReader != null); // CC missing for XmlReader.Create + Assumes.True(tokenReader != null); // CC missing for XmlReader.Create return IsEncrypted(tokenReader); } catch { IDisposable disposableReader = tokenReader; |