diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2009-05-19 18:38:25 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2009-05-19 20:21:17 -0700 |
commit | 126021780a426aec1ba43705c15254c42d1e71fc (patch) | |
tree | d51e1e229be7d327c9423f829db378e4270aaa7a /src | |
parent | 6462948796ee803121b65c6b1eb027bf705b4158 (diff) | |
download | DotNetOpenAuth-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.cs | 2 | ||||
-rw-r--r-- | src/DotNetOpenAuth/OpenId/Extensions/UI/UIRequest.cs | 20 |
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. |