summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
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.