summaryrefslogtreecommitdiffstats
path: root/samples/DotNetOpenAuth.ApplicationBlock/CustomExtensions/AcmeResponse.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2009-04-15 14:19:22 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2009-04-15 14:19:22 -0700
commitc925ab3d2c5697c9f5f6e57aa58a042f49cf8ecd (patch)
tree22137d6e7d261cc437ed9d9fbd25b13d9d7e7639 /samples/DotNetOpenAuth.ApplicationBlock/CustomExtensions/AcmeResponse.cs
parentafe5a981369ebbb1436d2f388c448da8451bb609 (diff)
downloadDotNetOpenAuth-c925ab3d2c5697c9f5f6e57aa58a042f49cf8ecd.zip
DotNetOpenAuth-c925ab3d2c5697c9f5f6e57aa58a042f49cf8ecd.tar.gz
DotNetOpenAuth-c925ab3d2c5697c9f5f6e57aa58a042f49cf8ecd.tar.bz2
Custom OpenID extensions may now exist outside the library.
Diffstat (limited to 'samples/DotNetOpenAuth.ApplicationBlock/CustomExtensions/AcmeResponse.cs')
-rw-r--r--samples/DotNetOpenAuth.ApplicationBlock/CustomExtensions/AcmeResponse.cs63
1 files changed, 63 insertions, 0 deletions
diff --git a/samples/DotNetOpenAuth.ApplicationBlock/CustomExtensions/AcmeResponse.cs b/samples/DotNetOpenAuth.ApplicationBlock/CustomExtensions/AcmeResponse.cs
new file mode 100644
index 0000000..38185bd
--- /dev/null
+++ b/samples/DotNetOpenAuth.ApplicationBlock/CustomExtensions/AcmeResponse.cs
@@ -0,0 +1,63 @@
+//-----------------------------------------------------------------------
+// <copyright file="AcmeResponse.cs" company="Andrew Arnott">
+// Copyright (c) Andrew Arnott. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace DotNetOpenAuth.ApplicationBlock.CustomExtensions {
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Text;
+ using DotNetOpenAuth.OpenId.Messages;
+
+ [Serializable]
+ public class AcmeResponse : IOpenIdMessageExtension {
+ private IDictionary<string, string> extraData = new Dictionary<string, string>();
+
+ #region IOpenIdMessageExtension Members
+
+ /// <summary>
+ /// Gets the TypeURI the extension uses in the OpenID protocol and in XRDS advertisements.
+ /// </summary>
+ public string TypeUri {
+ get { return Acme.CustomExtensionTypeUri; }
+ }
+
+ /// <summary>
+ /// Gets the additional TypeURIs that are supported by this extension, in preferred order.
+ /// May be empty if none other than <see cref="TypeUri"/> is supported, but
+ /// should not be null.
+ /// </summary>
+ /// <remarks>
+ /// Useful for reading in messages with an older version of an extension.
+ /// The value in the <see cref="TypeUri"/> property is always checked before
+ /// trying this list.
+ /// If you do support multiple versions of an extension using this method,
+ /// consider adding a CreateResponse method to your request extension class
+ /// so that the response can have the context it needs to remain compatible
+ /// given the version of the extension in the request message.
+ /// The <see cref="Extensions.SimpleRegistration.ClaimsRequest.CreateResponse"/> for an example.
+ /// </remarks>
+ public IEnumerable<string> AdditionalSupportedTypeUris {
+ get { return Enumerable.Empty<string>(); }
+ }
+
+ #endregion
+
+ #region IMessage Members
+
+ public Version Version {
+ get { return Acme.Version; }
+ }
+
+ public IDictionary<string, string> ExtraData {
+ get { return this.extraData; }
+ }
+
+ public void EnsureValidMessage() {
+ }
+
+ #endregion
+ }
+}