summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2009-05-19 18:38:25 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2009-05-19 20:21:17 -0700
commit126021780a426aec1ba43705c15254c42d1e71fc (patch)
treed51e1e229be7d327c9423f829db378e4270aaa7a /src
parent6462948796ee803121b65c6b1eb027bf705b4158 (diff)
downloadDotNetOpenAuth-126021780a426aec1ba43705c15254c42d1e71fc.zip
DotNetOpenAuth-126021780a426aec1ba43705c15254c42d1e71fc.tar.gz
DotNetOpenAuth-126021780a426aec1ba43705c15254c42d1e71fc.tar.bz2
Added UI extension request class to the extension factory.
Diffstat (limited to 'src')
-rw-r--r--src/DotNetOpenAuth/OpenId/Extensions/StandardOpenIdExtensionFactory.cs2
-rw-r--r--src/DotNetOpenAuth/OpenId/Extensions/UI/UIRequest.cs20
2 files changed, 20 insertions, 2 deletions
diff --git a/src/DotNetOpenAuth/OpenId/Extensions/StandardOpenIdExtensionFactory.cs b/src/DotNetOpenAuth/OpenId/Extensions/StandardOpenIdExtensionFactory.cs
index a669672..1dcda27 100644
--- a/src/DotNetOpenAuth/OpenId/Extensions/StandardOpenIdExtensionFactory.cs
+++ b/src/DotNetOpenAuth/OpenId/Extensions/StandardOpenIdExtensionFactory.cs
@@ -12,6 +12,7 @@ namespace DotNetOpenAuth.OpenId.Extensions {
using DotNetOpenAuth.OpenId.Extensions.OAuth;
using DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy;
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
+ using DotNetOpenAuth.OpenId.Extensions.UI;
using DotNetOpenAuth.OpenId.Messages;
/// <summary>
@@ -39,6 +40,7 @@ namespace DotNetOpenAuth.OpenId.Extensions {
this.RegisterExtension(AuthorizationRequest.Factory);
this.RegisterExtension(AuthorizationApprovedResponse.Factory);
this.RegisterExtension(AuthorizationDeclinedResponse.Factory);
+ this.RegisterExtension(UIRequest.Factory);
}
/// <summary>
diff --git a/src/DotNetOpenAuth/OpenId/Extensions/UI/UIRequest.cs b/src/DotNetOpenAuth/OpenId/Extensions/UI/UIRequest.cs
index 068b580..71afd66 100644
--- a/src/DotNetOpenAuth/OpenId/Extensions/UI/UIRequest.cs
+++ b/src/DotNetOpenAuth/OpenId/Extensions/UI/UIRequest.cs
@@ -27,7 +27,23 @@ namespace DotNetOpenAuth.OpenId.Extensions.UI {
/// <see cref="IProviderEndpoint.IsExtensionSupported"/> method on the <see cref="IAuthenticationRequest.Provider"/>
/// object.</para>
/// </remarks>
- public class UIRequest : IOpenIdMessageExtension, IMessageWithEvents {
+ public sealed class UIRequest : IOpenIdMessageExtension, IMessageWithEvents {
+ /// <summary>
+ /// The factory method that may be used in deserialization of this message.
+ /// </summary>
+ internal static readonly StandardOpenIdExtensionFactory.CreateDelegate Factory = (typeUri, data, baseMessage, isProviderRole) => {
+ if (typeUri == UITypeUri && isProviderRole) {
+ return new UIRequest();
+ }
+
+ return null;
+ };
+
+ /// <summary>
+ /// The type URI associated with this extension.
+ /// </summary>
+ private const string UITypeUri = "http://specs.openid.net/extensions/ui/1.0";
+
/// <summary>
/// Backing store for <see cref="ExtraData"/>.
/// </summary>
@@ -63,7 +79,7 @@ namespace DotNetOpenAuth.OpenId.Extensions.UI {
/// Gets the TypeURI the extension uses in the OpenID protocol and in XRDS advertisements.
/// </summary>
/// <value></value>
- public string TypeUri { get { return "http://specs.openid.net/extensions/ui/1.0"; } }
+ public string TypeUri { get { return UITypeUri; } }
/// <summary>
/// Gets the additional TypeURIs that are supported by this extension, in preferred order.